C언어

[C언어] stdio.h 에 대해 알아보기

인생마린 2017. 5. 28. 21:44
반응형

stdio.h 는 Standard Input/Output library (표준 입출력 라이브러리)의 약어로써, C 언어의 표준 라이브러리 함수의 매크로 정의, 상수, 여러 형의 입출력 함수가 포함된 헤더 파일이다.


우리가 항상 stdio.h 를 포함하는 이유는 자주쓰는 printf, scanf가 여기 라이브러리에 있기 때문이다.

또한 파일 입출력 함수가 있는등 중요한 함수가 많다.


멤버 함수

stdio.h에 선언되어 있는 함수는 일반적으로 파일 조작 함수와 콘솔 입출력 함수 둘로 구분된다.

이름해설
파일 조작 함수
fopen, freopen파일을 읽거나 쓴다.
fclose파일을 닫는다.
remove파일을 삭제한다.
rename파일 이름을 바꿉니다.
rewind파일 위치를 초기화한다. [2]
tmpfile임시 파일을 만들고 연다. fclose()로 닫으면 임시 파일이 삭제된다.
콘솔 입출력 함수
clearerrend-of-file와 주어진 스트림에 대한 오류 지시자를 지운다.
feofend-of-file 지시자가 주어진 스트림으로 설정되어 있는지 검사한다.
ferror오류 지시자가 주어진 스트림으로 설정되어 있는지 검사한다.
fflush보류 중인 버퍼된 출력을 주어진 스트림의 파일에 강제로 쓴다.
fgetpos첫 번째 변수 (FILE *) 부터 두 번째 변수 (fpos_t *)의 파일 위치 지시자를 저장한다.
fgetc파일로부터 한 개의 문자를 리턴한다.
fgets파일로부터 문자열을 읽는다. (파일의 끝이거나 개행 문자의 끝)
fputc한 문자를 파일에 입력한다.
fseek파일을 찾는다.
fsetpos기억된 첫 번째 인수(FILE *) 두 번째 인수(fpos_t *) 까지의 파일 위치 지시자를 설정한다.
fread파일로부터 데이터를 읽어들입니다.
fwrite파일로부터 데이터를 쓴다.
getc주어진 스트림으로부터 문자를 읽고 리턴한다. 강화된 파일 지시자로서, 주어진 스트림을 한 번 이상으로 평가하는 fgetc와 같은 효과를 내는 매크로이다.
getchargetc(stdin)와 같은 효과를 냅니다.
getsstdin이 개행문자를 발생시키고 인수에 저장할 때까지 문자를 읽는다.
printf, vprintf표준 출력 스트림에 출력한다.
fprintf, vfprintf파일로 출력한다.
sprintf, snprintf, vsprintf, vsnprintf문자 배열로 출력한다. (C 문자열)
perrorstderr에 오류 메시지를 쓴다.
putc스트림에 문자를 쓴다.
putchar, fputcharputc(stdout)와 같은 효과를 낸다.
scanf, vscanf표준 입력 스트림으로 입력한다.
fscanf, vfscanf파일로 입력한다.
sscanf, vsscanf문자 배열로부터 입력한다. (예: C 문자열)
setbuf, setvbuf주어진 스트림에 버퍼링 모드로 전환한다.
tmpnam임시 파일을 만듭니다.
ungetc문자를 스트림의 역순으로 읽는다
putsstdout에 문자, 문자열을 출력한다.

멤버 상수

이름해설
EOFend-of-file 절을 가리키는 용도로 사용되는 int형의 음의 정수.
BUFSIZsetbuf() 함수에 의해 버퍼 크기를 나타내는 정수.
FILENAME_MAX충분히 열 수 있는 저장 가능한 파일 이름의 char형의 배열 크기.
FOPEN_MAX동시에 열 수 있는 파일의 갯수; 최소 8
_IOFBF"input/output fully buffered"의 약어. 이 정수값은 setvbuf() 함수에 넘겨서 버퍼화된 블록의 스트림을 열기 위해 입출력에 요구한다.
_IOLBF"input/output line buffered"의 약어. 이 정수값은 setvbuf() 함수에 넘겨서 버퍼화된 라인의 스트림을 열기 위해 입출력에 요구한다.
_IONBF"input/output not buffered"의 약어. 이 정수값은 setvbuf() 함수에 넘겨서 버퍼화 되지 않은 것을 스트림을 열기 위해 입출력에 요구한다.
L_tmpnamchar 배열이 tmpnam() 함수를 발생시킬 정도의 충분한 크기
NULL널 포인터의 약어인 매크로 상수. 이 상수는 메모리의 어떤 유효한 위치의 개체도 가리키지 않는 포인터 값이다.
SEEK_CURfseek() 함수의 요구한 현재 파일 위치의 상대 위치를 나타내는 정수.
SEEK_ENDfseek() 함수의 요구한 end of file의 상대 위치를 나타내는 정수.
SEEK_SETfseek() 함수의 요구한 파일의 시작점의 상대 위치를 나타내는 정수.
TMP_MAXtmpnam() 함수가 생성가능한 최대 파일명 길이 (최소 25자)

멤버 변수

이름해설
stdin표준 입력 스트림(일반적으로 키보드)를 참조하는 FILE에 대한 포인터.
stdout표준 출력 스트림(일반적으로 디스플레이 터미널)을 참조하는 FILE에 대한 포인터.
stderr표준 오류 스트림(항상 디스플레이 터미널)을 참조하는 FILE에 대한 포인터.

멤버 형식

stdio.h 헤더에 정의된 데이터 형식이 포함되어 있다:

  • FILE - 입출력 작동에 필요한 파일/텍스트 스트림에 대한 정보를 포함하는 구조다.
    • 파일 서술자
    • 현재 스트림 위치.
    • end-of-file 지시자
    • 오류 지시자
    • 적용 가능할 경우, 스트림의 버퍼에 대한 포인터.
  • fpos_t - 유일하게 파일의 바이트 위치를 식별할 수 있는 비 배열 형식.
  • size_t - sizeof 연산자의 결과값을 나타내는 형식의 양의 정수형.


출처 : https://ko.wikipedia.org/wiki/Stdio.h

반응형