반응형

fscanf() 함수를 이용해서...

C언어 텍스트파일에서 내용을 읽어와 구조체에 담기



파일입출력의 기초보기

[Computer/Programing] - c언어 파일에 입출력을 해보자



한개의 문자, 문자열이 아닌 한 개의 레코드

예를 들어


홍길동 25 남 서울 

위와 같은 데이터가 텍스트 파일에 저장되어 있을 때,

그 내용을 읽어와 구조체에 담고, 콘솔에 출력하고자 한다면...?



먼저 아래와 같이 txt 파일을 소스파일과 같은폴더에 두어야 합니다.

확장자는 나오지 않지만

맨 아래 파일이 .txt파일이라는 것쯤은 아실거라 생각합니다.



txt파일의 내용



소스

 

#include <stdio.h>
struct member{
char name[10];
int age;
char sex[3];
char city[10];
};

int main()
{
struct member m;
FILE *f;
f=fopen("a.txt","r");
fscanf(f,"%s %d %s %s",&m.name,&m.age, &m.sex, &m.city);
fclose(f);

printf("%s %d %s %s",m.name,m.age, m.sex, m.city);

return 0;
}


결과



각각 데이터 구분이 공백이 아닌 ,(콤마) 나 하이픈 이라면?

홍길동,25,남,서울

홍길동-25-남-서울


만약 여러행의 데이터가 있다면?

이번에는 데이터의 양을 늘려서


홍길동 25 남 서울 

김영희 21 여 인천

이순신 55 남 광주


이렇게 여러 행의 데이터가 있다면 어떻게 해야 할까요?
다음에...


반응형

+ Recent posts