fscanf, fprintf함수

less than 1 minute read

외부 텍스트파일 불러오기

파일스트림 생성하기

  • 파일로부터 데이터를 읽거나 파일에 데이터를 쓸 기본적인 준비과정
#include <stdio.h>
// 파일 스트림 함수 원형
FILE*fopen(const char*fileName, const char*mode);
int fclose(FILE*stream);

// 파일 스트림을 형성
// 1. 상대경로. 소스파일과 같은 장소에 있을때
FILE*fp = fopen("textfile.txt", "rt");
// 2. 절대경로
FILE*fp = fopen("C:\\Users\\bokyoung\\Desktop\\textfile.txt", "rt")

// 파일 스트림 소멸
fclose(fp)

fopen함수

  • 첫번째 인자로 파일명을 문자열형태로 넣는다. 이때 작성하고 있는 소스파일과의 상대경로를 이용하거나 절대경로를 이용할 수 있다.
  • 두번째 인자로 파일의 개방모드를 설정한다. 마찬가지로 문자열의 형태로 입력을 받으며 “wt”는 파일에 데이터를 쓸 수 있는 스트림, “rt”는 파일로부터 데이터를 읽어들일 수 있는 스트림이다.

fclose함수

  • 스트림의 형성을 위해 할당한 자원을 반환하는 역할
  • 버퍼에 남아있는 데이터를 비워주는 역할

서식에 따른 데이터 입출력

fprintf

#include <stdio.h>

char name[20] = "bokyoung";
char sex = 'M';
int age = 25;
FILE*fp = fopen("textfile.txt", "wt");
fprintf(fp, "%s %c %d", name, sex, age);
fclose(fp);
  • 서식문자를 활용해서 파일에 데이터를 쓸 수 있다.
  • 공백을 기준으로 데이터를 구분하므로 서식문자 사이는 공백문자를 삽입해주었다. 만약 콤마(,)나 다른 구분자를 사용한다면 해당 문자를 삽입해주면 된다.

fscanf

#include <stdio.h>

char str[100];
char sex;
int age;
FILE*fp = fopen("textfile.txt", "rt");
fscanf("fp", "%s %c %d", str, &sex, &age);
fclose(fp);

[참고자료]

  • 열혈 C프로그래밍 (윤성우 저)

Categories:

Updated:

Leave a comment