STDIO.H

<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