-
C/C++ sprintf(3), snprintf(3)C,C++ & Linux 2020. 5. 22. 14:16728x90
함수 기능
문자열 배열에 형식에 맞춘 문자열을 출력해주는 함수입니다.
printf 와 유사하지만 출력의 대상이 파일이 아니라 배열인 것이 포인트입니다.
snprintf() 함수는 sprintf() 함수와 유사하지만 버퍼 크기를 고려하여 최대로 출력가능한 문자의 길이에 제한을 둡니다.
따라서 버퍼 오버플로우에 더 안전합니다.
함수 원형
#include <stdio.h> int sprintf(char *buf, const char *format, ...); int snprintf(char *buf, size_t size, const char *format, ...);
매개변수
buf
출력한 문자열이 들어갈 배열
format
형식 지정자
...
형식 지정자에 들어갈 변수들 리스트
size
출력할 수 있는 최대 글자 수 제한
일반적으로 버퍼의 크기로 지정합니다.
반환값
성공 시 출력된 문자의 길이를 리턴
에러 시 음의 정수를 리턴
예제
#include <stdio.h> #include <stdlib.h> #include <unistd.h> int main(int argc, char *argv[]) { char buf[BUFSIZ]; sprintf(buf, "%d", 123); printf("%s\n", buf); exit(0); }
결과
리눅스시스템프로그래밍 저자 : 홍지만
https://book.naver.com/bookdb/book_detail.nhn?bid=14623672
책에 기술된 예제 프로그램입니다. 책 내부에는 훨씬 더 많은 자료가 있습니다. (개인적으로 좋았습니다.)'C,C++ & Linux' 카테고리의 다른 글
C/C++ fileno(3) (0) 2020.05.22 C/C++ scanf(3), fscanf(3), sscanf(3) (0) 2020.05.22 C/C++ printf(3), fprintf(3) (0) 2020.05.22 C/C++ fgetpos(3), fsetpos(3) (0) 2020.05.22 C/C++ rewind(3) (0) 2020.05.22