본문으로 바로가기
homeimage
  1. Home
  2. 컴퓨터/프로그래밍
  3. C언어 fscanf 함수 파일에서 서식에 맞추어 데이터 읽기

C언어 fscanf 함수 파일에서 서식에 맞추어 데이터 읽기

· 댓글개 · 바다야크

C fscanf() 파일에서 서식에 맞추어 데이터 읽기 함수

파일로부터 서식을 갖춘 데이터를 입력받습니다.

서식을 갖춘다는 것은 입력을 어떤 모양에 맞추어 입력을 받는다는 것입니다.

  • 헤더: stdio.h
  • 형태: int *scanf( FILE *stream, const char *format, ...)
  • 인수: FILE *stream 읽고자 하는 FILE 포인터
    const char *format 읽어 들일 데이터 서식
    ... 서식에 맞춘 변수 나열
  • 반환: int 읽기에 성공했다면 읽어들인 항목 개수를 반환하고 실패나 오류가 발생하면 -1을 반환합니다.

서실 변환 문자열

변환 문자열 의미
%o 8진 정수 형식으로 입력
%d 10진 정수 형식으로 입력
%ld long형 10진 정수 형식으로 입력
%x 16진 정수 형식으로 입력
%f float 형 형식으로 입력
%lf double 형 형식으로 입력
%c 문자 형식으로 입력
%s 문자열 형식으로 입력

C언어 fscanf() 함수 예제

data.txt는 아래 내용을 가지고 있는 파일입니다.

123 456.789 badayak
1 123.456 jwmx.tistory
100 456.456 com

예제는 data.txt 파일 내용을 포맷에 맞추어 화면에 출력합니다.

#include <stdio.h>

int main( void)
{
   FILE      *fp;
   char       buf[1024];
   int        num;
   float      real;
                                          
   if ( fp   = fopen( "./data.txt", "r")){
      while( 0 < fscanf( fp, "%d %f %s", &num, &real, buf))
         printf( "%d %f %s\n", num, real, buf);
      fclose( fp);
   }
   return 0;
}

C언어 fscanf() 함수 예제 실행 결과

]$ ./a.out
123 456.789001 badayak
1 123.456001 jwmx.tistory
100 456.455994 com
]$
SNS 공유하기
💬 댓글 개
최근글
이모티콘창 닫기
울음
안녕
감사해요
당황
피폐

이모티콘을 클릭하면 댓글창에 입력됩니다.