반응형
stdio.h 는 Standard Input/Output library (표준 입출력 라이브러리)의 약어로써, C 언어의 표준 라이브러리 함수의 매크로 정의, 상수, 여러 형의 입출력 함수가 포함된 헤더 파일이다.
우리가 항상 stdio.h 를 포함하는 이유는 자주쓰는 printf, scanf가 여기 라이브러리에 있기 때문이다.
또한 파일 입출력 함수가 있는등 중요한 함수가 많다.
멤버 함수
stdio.h
에 선언되어 있는 함수는 일반적으로 파일 조작 함수와 콘솔 입출력 함수 둘로 구분된다.
이름 | 해설 |
---|---|
파일 조작 함수 | |
fopen, freopen | 파일을 읽거나 쓴다. |
fclose | 파일을 닫는다. |
remove | 파일을 삭제한다. |
rename | 파일 이름을 바꿉니다. |
rewind | 파일 위치를 초기화한다. [2] |
tmpfile | 임시 파일을 만들고 연다. fclose()로 닫으면 임시 파일이 삭제된다. |
콘솔 입출력 함수 | |
clearerr | end-of-file와 주어진 스트림에 대한 오류 지시자를 지운다. |
feof | end-of-file 지시자가 주어진 스트림으로 설정되어 있는지 검사한다. |
ferror | 오류 지시자가 주어진 스트림으로 설정되어 있는지 검사한다. |
fflush | 보류 중인 버퍼된 출력을 주어진 스트림의 파일에 강제로 쓴다. |
fgetpos | 첫 번째 변수 (FILE *) 부터 두 번째 변수 (fpos_t *)의 파일 위치 지시자를 저장한다. |
fgetc | 파일로부터 한 개의 문자를 리턴한다. |
fgets | 파일로부터 문자열을 읽는다. (파일의 끝이거나 개행 문자의 끝) |
fputc | 한 문자를 파일에 입력한다. |
fseek | 파일을 찾는다. |
fsetpos | 기억된 첫 번째 인수(FILE *) 두 번째 인수(fpos_t *) 까지의 파일 위치 지시자를 설정한다. |
fread | 파일로부터 데이터를 읽어들입니다. |
fwrite | 파일로부터 데이터를 쓴다. |
getc | 주어진 스트림으로부터 문자를 읽고 리턴한다. 강화된 파일 지시자로서, 주어진 스트림을 한 번 이상으로 평가하는 fgetc와 같은 효과를 내는 매크로이다. |
getchar | getc(stdin)와 같은 효과를 냅니다. |
gets | stdin이 개행문자를 발생시키고 인수에 저장할 때까지 문자를 읽는다. |
printf, vprintf | 표준 출력 스트림에 출력한다. |
fprintf, vfprintf | 파일로 출력한다. |
sprintf, snprintf, vsprintf, vsnprintf | 문자 배열로 출력한다. (C 문자열) |
perror | stderr에 오류 메시지를 쓴다. |
putc | 스트림에 문자를 쓴다. |
putchar, fputchar | putc(stdout)와 같은 효과를 낸다. |
scanf, vscanf | 표준 입력 스트림으로 입력한다. |
fscanf, vfscanf | 파일로 입력한다. |
sscanf, vsscanf | 문자 배열로부터 입력한다. (예: C 문자열) |
setbuf, setvbuf | 주어진 스트림에 버퍼링 모드로 전환한다. |
tmpnam | 임시 파일을 만듭니다. |
ungetc | 문자를 스트림의 역순으로 읽는다 |
puts | stdout 에 문자, 문자열을 출력한다. |
멤버 상수
이름 | 해설 |
---|---|
EOF | end-of-file 절을 가리키는 용도로 사용되는 int 형의 음의 정수. |
BUFSIZ | setbuf() 함수에 의해 버퍼 크기를 나타내는 정수. |
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_tmpnam | char 배열이 tmpnam() 함수를 발생시킬 정도의 충분한 크기 |
NULL | 널 포인터의 약어인 매크로 상수. 이 상수는 메모리의 어떤 유효한 위치의 개체도 가리키지 않는 포인터 값이다. |
SEEK_CUR | fseek() 함수의 요구한 현재 파일 위치의 상대 위치를 나타내는 정수. |
SEEK_END | fseek() 함수의 요구한 end of file의 상대 위치를 나타내는 정수. |
SEEK_SET | fseek() 함수의 요구한 파일의 시작점의 상대 위치를 나타내는 정수. |
TMP_MAX | tmpnam() 함수가 생성가능한 최대 파일명 길이 (최소 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
반응형
'C언어' 카테고리의 다른 글
[C언어]assert.h 에 대해 알아보자 (0) | 2017.05.28 |
---|---|
[C언어] math.h 에 대해 알아보기 (0) | 2017.05.28 |
[C언어] stdlib.h 헤더에 대해 알아보기 (0) | 2017.05.28 |
[C언어] 문자열 선언&출력하기 (0) | 2017.05.28 |
[C언어]#6 if, if~else, else 조건문 (1) | 2017.05.04 |