모두의 코드
C 언어 레퍼런스 - fgetc 함수
작성일 : 2010-01-28
이 글은 34714 번 읽혔습니다.
아직 C 언어와 친숙하지 않다면, 씹어먹는 C 언어 강좌를 보는 것이 어떻까요?
fgetc
#include <stdio.h> // C++ 에서는 <cstdio> int fgetc(FILE* stream);
스트림(stream) 에서 문자 하나를 읽어온다
인자로 전달한 stream
의 파일 위치 지정자가 가리키는 문자를 리턴한다. 이 때 파일 위치 지정자는 그 다음 문자를 가리키게 된다. fgetc 와 getc 는 동일하지만 getc 의 경우 매크로의 형태로 만들어져 있기 때문에 인자가 만일을 위해 식이 아닌 형태여야 한다.
인자
스트림(stream)
fgetc 가 읽어들인 스트림의 FILE
객체에 대한 포인터
리턴값
읽어들인 문자는 int
값으로 리턴된다.
만일 파일의 끝(End-of-File) 에 도달하였거나, 읽는 도중 오류가 발생하였다면 EOF 를 리턴하고, 이에 대응하는 오류 표시자나 파일 끝 표시자가 설정된다.
ferror이나 feof 함수를 이용하여 각각 어떤 오류가 발생하였는지, 파일 끝에 도달하였는지 확인할 수 있다.
실행 예제
/* stdin 에서 문자를 입력받는다. */ #include <stdio.h> int main() { int i = fgetc(stdin); printf("입력 값 : %c \n", i); return 0; }
실행 결과
또다른 예제
/* myfile.txt 에서의 $ 의 개수를 센다 참고로, http://www.cplusplus.com/reference/clibrary/cstdio/fgetc/ 에서 가져온 예제입니다. */ #include <stdio.h> int main() { FILE* pFile; int c; int n = 0; pFile = fopen("myfile.txt", "r"); if (pFile == NULL) perror("Error opening file"); else { do { c = fgetc(pFile); if (c == '$') n++; } while (c != EOF); fclose(pFile); printf("The file contains %d dollar sign characters ($).\n", n); } return 0; }
실행 결과
관련된 함수들
getc : 스트림에서 문자 한 개를 읽어온다.
fputc : 스트림에 문자 한 개를 쓴다.
fread : 스트림에서 데이타 한 블록을 읽어온다.
fscanf : 스트림에서 형식화 된 데이터를 읽어온다.
댓글이
1 개 있습니다!
강좌에 관련 없이 궁금한 내용은
여기를 사용해주세요
또는 직접 입력하세요 (댓글 수정시 비밀번호가 필요합니다)
댓글을 불러오는 중입니다..