반응형

언어 자료구조 알고리즘/C11 표준 라이브러리 함수 178

fflush 함수[C언어 표준 라이브러리 함수 가이드]

fflush 헤더 파일 [언어 자료구조 알고리즘/C11 표준 라이브러리 함수] - STDIO.H int fflush ( FILE *fp); 파일 스트림 버퍼를 비우는 함수 입력 매개 변수 리스트 fp 파일 스트림 반환 값 성공 시 0, 에러 시 EOF 출력 스트림 버퍼에 남아있는 내용을 출력 스트림에 출력하는 동작을 수행합니다. 하지만 입력 스트림에서 어떻게 동작해야 하는지는 표준 문서에서 정의하지 않았습니다. scanf 함수처럼 포멧에 맞게 입력을 받을 때 최종 사용자의 입력 내용이 포멧 문자열보다 더 많은 내용을 포함하고 있으면 버퍼에 처리하지 않은 데이터가 남습니다. 이처럼 스트림 버퍼의 내용을 비울 때 fflush 함수를 사용합니다. 하지만 C 표준 문서를 보면 구체적인 행위를 정의하지 않았습니다..

vprintf 함수[C언어 표준 라이브러리 함수 가이드]

vprintf 헤더 파일 [언어 자료구조 알고리즘/C11 표준 라이브러리 함수] - STDIO.H int vprintf ( const char * format, va_list arg ); 버퍼에 포멧을 지정하여 가변 인자를 출력하는 함수 입력 매개 변수 리스트 format 포멧 문자열 arg 가변 인자 반환 값 성공 시 출력한 문자 개수, 실패 시 음수 사용 예 //C언어 표준 라이브러리 함수 사용법 가이드 //int vprintf ( const char * format, va_list arg ); 버퍼에 포멧을 지정하여 가변 인자를 출력하는 함수 //메시지와 가변 인자 리스트를 받아 표준 출력 스트림에 출력 #include #include //가변 인자를 받아 표준 스트림에 출력하는 함수 void My..

sscanf_s 함수[C언어 표준 라이브러리 함수 가이드]

sscanf_s 헤더 파일 [언어 자료구조 알고리즘/C11 표준 라이브러리 함수] - STDIO.H int sscanf_s (const char * buffer ,const char *format,...); 버퍼에서 포멧을 지정하여 읽어오는 함수 입력 매개 변수 리스트 buffer 소스 문자열 format 포멧 문자열 ... 가변 인자 리스트 반환 값 변환 성공한 개수 sscanf 함수는 소스 문자열에 있는 내용으로 설정할 버퍼의 크기가 작으면 버퍼 오버플로우 현상이 발생할 수 있습니다. C11에서는 이를 개선한 sscanf_s를 제공하고 있습니다. sscanf_s로 소스 문자열에 있는 내용으로 문자열이나 문자를 설정할 때는 설정할 버퍼의 크기를 전달합니다. 사용 예 //C언어 표준 라이브러리 함수 사용..

sscanf 함수[C언어 표준 라이브러리 함수 가이드]

sscanf 헤더 파일 [언어 자료구조 알고리즘/C11 표준 라이브러리 함수] - STDIO.H int sscanf (const char * buffer ,const char *format,...); 버퍼에서 포멧을 지정하여 읽어오는 함수 입력 매개 변수 리스트 buffer 소스 문자열 format 포멧 문자열 ... 가변 인자 리스트 반환 값 변환 성공한 개수 소스 문자열에 있는 내용으로 설정할 버퍼의 크기가 작으면 버퍼 오버플로우 현상이 발생할 수 있습니다. C11에서는 이를 개선한 sscanf_s를 제공하고 있습니다. 사용 예 //C언어 표준 라이브러리 함수 사용법 가이드 //int sscanf (const char * buffer ,const char *format,...); 버퍼에서 포멧을 지정..

sprintf_s 함수[C언어 표준 라이브러리 함수 가이드]

sprintf_s 헤더 파일 [언어 자료구조 알고리즘/C11 표준 라이브러리 함수] - STDIO.H int sprintf_s ( char * buffer, size_t size, const char * format, ... ); 버퍼에 포멧을 지정하여 출력하는 함수 입력 매개 변수 리스트 buffer 출력할 버퍼 size 버퍼 크기 format 포멧 문자열 ... 가변 인자 리스트 반환 값 버퍼에 출력한 문자 개수 sprintf 함수는 버퍼의 크기를 전달하지 않아서 함수 내부에서는 버퍼의 크기를 알 수가 없습니다. 버퍼에 출력할 내용이 버퍼 크기보다 크면 버퍼 오버플로우 문제가 발생합니다. C11에서는 이러한 문제를 개선한 함수 sprintf_s를 제공합니다. 사용 예 //C언어 표준 라이브러리 함수 ..

sprintf 함수[C언어 표준 라이브러리 함수 가이드]

sprintf 헤더 파일 [언어 자료구조 알고리즘/C11 표준 라이브러리 함수] - STDIO.H int sprintf ( char * buffer, const char * format, ... ); 버퍼에 포멧을 지정하여 출력하는 함수 입력 매개 변수 리스트 buffer 출력할 버퍼 format 포멧 문자열 ... 가변 인자 리스트 반환 값 버퍼에 출력한 문자 개수 버퍼의 크기를 전달하지 않아서 sprintf 함수 내부에서는 버퍼의 크기를 알 수가 없습니다. 버퍼에 출력할 내용이 버퍼 크기보다 크면 버퍼 오버플로우 문제가 발생합니다. C11에서는 이러한 문제를 개선한 sprintf_s 함수를 제공합니다. 사용 예 //C언어 표준 라이브러리 함수 사용법 가이드 //int sprintf ( char * b..

fopen_s 함수[C언어 표준 라이브러리 함수 가이드

fopen_s 헤더 파일 [언어 자료구조 알고리즘/C11 표준 라이브러리 함수] - STDIO.H errno_t fopen_s(FILE **pfp, const char *path,const char *mode); 파일 스트림을 여는 함수 입력 매개 변수 리스트 pfp 연 파일 스트림을 설정할 FILE *형식 변수의 주소 path 절대 경로 혹은 상대 경로 mode rwba+의 조합 문자열, fopen과 같습니다. 반환 값 성공하면 0, 실패하면 에러 값 C11 표준에서는 FILE 구조체인 struct _iobuf의 내부 멤버를 숨기고 있습니다. 개발자에 의해 직접 멤버에 접근하는 것을 방지하여 안전성을 도모하고 있습니다. 그리고 fopen 함수의 반환 값을 첫 번째 입력 인자로 FILE 포인터 변수의 주..

fscanf_s 함수[C언어 표준 라이브러리 함수 가이드

fscanf_s 헤더 파일 [언어 자료구조 알고리즘/C11 표준 라이브러리 함수] - STDIO.H int fscanf_s (FILE * fp ,const char *format,...); 파일 스트림에 포멧을 지정하여 읽는 함수 입력 매개 변수 리스트 fp 입력 파일 스트림 format 포멧 문자열 ... 가변 인자 리스트 반환 값 성공 시 변환 성공 개수, 오류 시 EOF C11 표준에서 fscanf의 버퍼 오버플로우 문제를 개선한 함수입니다. 문자열이나 문자를 입력받을 때는 버퍼의 크기를 전달합니다. 사용 예 //C언어 표준 라이브러리 함수 사용법 가이드 //int fscanf_s(FILE * fp, const char *format, ...); 파일 스트림에 포멧을 지정하여 읽는 함수 //회원 정..

fscanf 함수[C언어 표준 라이브러리 함수 가이드]

fscanf 헤더 파일 [언어 자료구조 알고리즘/C11 표준 라이브러리 함수] - STDIO.H int fscanf (FILE * fp ,const char *format,...); 파일 스트림에 포멧을 지정하여 읽는 함수 입력 매개 변수 리스트 fp 입력 파일 스트림 format 포멧 문자열 ... 가변 인자 리스트 반환 값 성공 시 변환 성공 개수, 오류 시 EOF fscanf 함수도 scanf 함수처럼 문자열을 읽어올 때 버퍼 크기를 전달하지 않아 버퍼 오버플로우 문제가 발생할 수 있습니다. C11에서는 이를 개선한 fscanf_s를 제공합니다. 사용 예 //C언어 표준 라이브러리 함수 사용법 가이드 //int fscanf (FILE * fp ,const char *format,...); 파일 스트..

fgets 함수 [C언어 표준 라이브러리 함수 가이드]

fgets 헤더 파일 [언어 자료구조 알고리즘/C11 표준 라이브러리 함수] - STDIO.H char *fgets(char * buffer, int max,FILE * stream); 파일 스트림의 버퍼에서 문자열을 읽는 함수 입력 매개 변수 리스트 buffer 문자열을 기록할 버퍼 max 읽어올 문자열을 구성하는 문자 최대 개수 -1 stream 입력 파일 스트림 반환 값 성공 시 buffer, 실패 하거나 파일의 끝을 만나면 NULL 개행 문자를 만나거나 max-1 개를 읽으면 마지막에 종료 문자를 추가합니다. gets에서는 개행 문자를 지우고 종료 문자를 추가하지만 fgets에서는 개행 문자도 그대로 읽습니다. 사용 예 //C언어 표준 라이브러리 함수 사용법 가이드 //char *fgets(cha..

반응형