※요약
fscanf : 개방된 파일에서 변수 단위로 입력을 받는다.
※특징
변수 간의 구분은 공백, 탭, 개행 문자로 한다.
*는 값을 읽지 않고 건너뛸 때 사용한다.
파일 포인터는 자동으로 증가한다.
※함수 원형 및 설명
int fscanf( FILE *stream, const char *format [, argument].. ); //stream : 개방된 FILE 구조체의 포인터 //format : 형식 제어 문자열 //argument : 가변적인 매개변수 //반환값 : 읽혀진 필드의 수. 파일 끝 또는 에러 시 EOF(-1)
※예제
#include <stdio.h> int main( ) { FILE *pFile = NULL; pFile = fopen( "d:\\Text.txt", "r" ); if( pFile == NULL ) { //에러 처리 } else { int nCount; float fRatio; char strDesc[255]; while( !feof( pFile ) ) { //공백으로 분리된 파일 읽기 fscanf( pFile, "%d %f %s\n", &nCount, &fRatio, strDesc ); printf( "공백으로 분리 : %d %f %s\n", nCount, fRatio, strDesc ); //,로 분리된 파일 읽기 fscanf( pFile, "%d, %f, %s\n", &nCount, &fRatio, strDesc ); printf( ",로 분리 : %d, %f, %s\n", nCount, fRatio, strDesc ); //탭으로 분리된 파일 읽기 fscanf( pFile, "%d\t%f\t%s\n", &nCount, &fRatio, strDesc ); printf( "탭으로 분리 : %d\t%f\t%s\n", nCount, fRatio, strDesc ); //선별적으로 읽기 - [%*]을 사용하면 값을 읽지 않는다. fscanf( pFile, "%*d %*f %s\n", strDesc ); printf( "선별적으로 읽기 : %s\n", strDesc ); } fclose( pFile ); } return 0; }
'C > 파일, 디렉토리 함수' 카테고리의 다른 글
[C언어] 바이트 단위 파일 읽기 - fread (0) | 2013.12.03 |
---|---|
[C언어] 문자 단위 파일 쓰기 함수 - fputc (0) | 2013.12.02 |
[C언어] 문자 단위 파일 읽기 함수 - fgetc (0) | 2013.12.02 |
[C언어] 변수 단위 파일 쓰기 함수 - fprintf (0) | 2013.11.30 |
[C언어] 라인 단위 파일 쓰기 함수 - fputs (0) | 2013.11.27 |
[C언어] 라인 단위 파일 읽기 함수 - fgets (4) | 2013.11.27 |
[C언어] 파일 열고 닫기 - fopen, fclose (1) | 2013.11.24 |