<stdio.h> 헤더에는 입출력을 수행에 사용할 수 있는 많은 함수들과 타입, 매크로를 제공합니다. 이 책에서는 <stdio.h> 헤더에서 제공하는 함수들 중에 C11에서 제시한 함수를 포함하여 35개의 함수 사용법을 소개합니다. C11에서 제시하는 함수는 버퍼 오버플로우 버그를 개발 단계에서 안전하게 구현할 수 있다는 의미에서 기존 함수명 뒤에 _s가 붙습니다. 앞으로 별다른 설명이 없어도 _s가 붙는 함수는 C11에서 제시한 함수라고 생각하시기 바랍니다.
다음은 이 책에서 다루는 <stdio.h> 헤더의 35개 함수의 원형입니다.
void clearerr(FILE * fp); 파일 스트림의 에러 플래그를 지우는 함수 int fclose(FILE *fp); 파일 스트림을 닫는 함수 int feof(FILE * fp); 파일 스트림의 끝인지 테스트하는 함수 int ferror ( FILE *fp ); 파일 스트림에 에러가 발생했는지 테스트하는 함수 int fflush ( FILE *fp); 파일 스트림 버퍼를 비우는 함수 int fgetc(FILE *fp); 파일 스트림의 버퍼에서 맨 앞의 문자의 ASCII 코드 값을 반환하는 함수 int fgetpos ( FILE * fp, fpos_t * pos ); 파일 스트림의 offset을 구하는 함수 char *fgets(char * buffer, int max,FILE * stream); 파일 스트림의 버퍼에서 문자열을 읽는 함수 FILE *fopen(const char *path,const char *mode); 파일 스트림을 여는 함수 errno_t fopen_s(FILE **pfp, const char *path,const char *mode); 파일 스트림을 여는 함수 int fprintf(FILE *fp, const char * format, ...); 파일 스트림에 포멧을 지정하여 출력하는 함수 int fputc(int ch,FILE *fp); 파일 스트림에 하나의 문자를 출력하는 함수 int fputs ( const char * str, FILE * fp ); 파일 스트림에 문자열을 출력하는 함수 size_t fread (void * base, size_t size, size_t count, FILE * fp); 파일 스트림에서 데이터를 읽는 함수 int fscanf (FILE * fp ,const char *format,...); 파일 스트림에 포멧을 지정하여 읽는 함수 int sprintf_s(char * buffer,size_t size, const char * format, ...); 파일 스트림에 포멧을 지정하여 읽는 함수 int fseek ( FILE *fp, long int offset, int whence ); 파일 스트림의 파일 position을 설정하는 함수 int fsetpos ( FILE * fp, fpos_t * pos ); 파일 스트림의 파일 position을 설정하는 함수 long ftell ( FILE * fp ); 파일 스트림의 offset을 가져오는 함수 size_t fwrite ( const void * base, size_t size, size_t count, FILE * fp); 파일 스트림에 데이터를 쓰는 함수 int getc(FILE *fp); ); 파일 스트림의 버퍼에서 맨 앞의 문자의 ASCII 코드 값을 반환하는 매크로 함수 int getchar(void); 표준 입력 스트림의 버퍼에서 맨 앞의 문자의 ASCII 코드 값을 반환하는 함수 char *gets(char *str); 표준 입력 스트림의 버퍼에서 문자열을 읽는 함수 char *gets_s(char *base,size_t size); 표준 입력 스트림의 버퍼에서 문자열을 읽는 함수 void perror ( const char * str ); 에러 메시지를 출력하는 함수 int printf(const char * format, ...); 표준 출력 파일 스트림에 포멧을 지정하여 출력하는 함수 int putc(int ch,FILE *fp); 파일 스트림에 하나의 문자를 출력하는 매크로 함수 int putchar(int ch); 표준 출력 파일 스트림에 하나의 문자를 출력하는 함수 int puts(const char *str); 표준 출력 파일 스트림에 문자열을 출력하는 함수 int scanf(const char *format,...); 표준 입력 파일 스트림의 버퍼에서 포멧을 지정하여 읽어오는 함수 int scanf_s(const char *format,...); 표준 입력 파일 스트림의 버퍼에서 포멧을 지정하여 읽어오는 함수 int sprintf ( char * buffer, const char * format, ... ); 버퍼에 포멧을 지정하여 출력하는 함수 int sprintf_s ( char * buffer, const char * format, ... ); 버퍼에 포멧을 지정하여 출력하는 함수 int sscanf (const char * buffer ,const char *format,...); 버퍼에서 포멧을 지정하여 읽어오는 함수 int sscanf_s (const char * buffer ,const char *format,...); 버퍼에서 포멧을 지정하여 읽어오는 함수 int vprintf ( const char * format, va_list arg ); 버퍼에 포멧을 지정하여 가변 인자를 출력하는 함수
putchar puts printf getchar gets scanf gets_s scanf_s fopen fclose fputc fputc putc fputs fprintf fgetc getc fgets fscanf fscanf_s fopen_s sprintf sprintf_s sscanf sscanf_s vprintf fflush fwrite fread ftell fseek ferror feof perror clearerr fgetpos fsetpos