C-Language/Binary File
C언어 바이너리 파일 예제
Soul-Learner
2014. 11. 22. 12:15
fwrite() 함수를 이용하여 바이너리 모드로 구조체 배열에 포함된 문자배열과 숫자를 파일에 쓰고 다시 fread() 함수로 읽어서 모니터에 출력하는 예
#include <stdio.h> struct s // 구조체 선언(키보드에서 입력된 이름과 번호를 저장함) { char name[50]; int num; }; int main(){ struct s a[5],b[5]; // 구조체 배열변수 2개 선언(a, b) FILE *fptr; int i; fptr=fopen("members.txt","wb"); // 바이너리 모드로 파일에 쓰기 위해 파일을 연다 for(i=0;i<5;++i) { fflush(stdin); printf("회원 이름 입력: "); gets(a[i].name); // 키보드에서 입력된 이름을 구조체의 name 변수에 저장 printf("회원 번호 입력: "); scanf("%d",&a[i].num); // 키보드에서 입력된 숫자를 구조체의 num 변수에 저장 } fwrite(a,sizeof(a),1,fptr); // 구조체에 저장된 5명의 회원정보를 파일에 저장 fclose(fptr); fptr=fopen("members.txt","rb"); // 파일을 다시 바이너리 읽기 모드로 연다 fread(b,sizeof(b),1,fptr); // 파일에서 읽어서 구조체 배열에 저장 for(i=0;i<5;++i) { printf("이름: %s\n번호: %d",b[i].name,b[i].num); // 파일에서 읽어온 내용을 모니터에 출력 } fclose(fptr); }