[C언어 소스] 회원 구조체 배열을 파일에 출력 및 로딩
//회원 구조체 배열을 파일에 출력 및 로딩
#include <stdio.h>
#include <stdlib.h>
#define FNAME "data.txt"
typedef struct Member
{
int num;
char name[200];
char addr[200];
}Member;
void StoreData()
{
Member arr[5]=
{
{1,"홍길동","서울특별시 종로구 종로 1가 1번지"},
{6,"강감찬","서울특별시 종로구 종로 1가 2번지"},
{12,"이순신","서울특별시 종로구 종로 1가 3번지"},
{8,"을지문덕","서울특별시 종로구 종로 1가 4번지"},
{9,"한석봉","서울특별시 종로구 종로 1가 5번지"},
};
FILE *fp;
int n=5;
//쓰기 모드로 파일을 열면 파일의 내용은 사라집니다.
//만약 파일이 없으면 새로 생성합니다.
//fp = fopen(fname,"w")과 fopen_s(&fp,fname,"w")는 같은 기능 수행
fopen_s(&fp,FNAME,"w");//파일 쓰기 모드로 열기
if(fp == NULL)
{
perror("파일 열기 실패");//에러 출력
exit(0); //프로그램 종료
}
fwrite(&n,sizeof(int),1,fp);//기록할 회원 수 출력
fwrite(arr,sizeof(Member),n,fp);//회원 데이터 출력
fclose(fp);
}
void LoadData()
{
Member arr[5];
FILE *fp;
int n;
int i;
//fp = fopen(fname,"r")과 fopen_s(&fp,fname,"r")는 같은 기능 수행
fopen_s(&fp,FNAME,"r");//파일 쓰기 모드로 열기
if(fp == NULL)
{
perror("파일 열기 실패");//에러 출력
exit(0); //프로그램 종료
}
fread(&n,sizeof(int),1,fp);//회원 수 읽기
fread(arr,sizeof(Member),n,fp);//회원 데이터 읽기
fclose(fp);
printf("회원 수: %d\n",n);
for(i=0;i<n;i++)
{
printf("번호:%d 이름:%s 주소:%s\n",arr[i].num,arr[i].name,arr[i].addr);
}
}
int main(void)
{
StoreData();
LoadData();
return 0;
}
'언어 자료구조 알고리즘 > C언어 예제' 카테고리의 다른 글
[C언어 소스] 성적 관리 프로그램 - 전역 변수 사용 (0) | 2016.04.03 |
---|---|
[C언어 소스] 대소문자 변환 (0) | 2016.04.03 |
[C언어 소스] 적분 공식을 이용한 파이 계산 (0) | 2016.04.03 |
[C언어 소스] 두 점 사이의 거리 - 구조체 정의 (0) | 2016.04.03 |
[C언어 소스] 두 점 사이의 거리 구하기 (0) | 2016.04.03 |
[C언어 소스] input.txt 파일의 내용을 라인 번호와 함께 output.txt파일에 출력 (0) | 2016.04.03 |
[C언어 소스] 회원 배열의 데이터를 파일에 출력 (0) | 2016.04.03 |
[C언어 소스] 번호,이름,주소를 파일에 출력 (0) | 2016.04.03 |
[C언어 소스] 라인 번호와 함께 파일 내용 출력 (0) | 2016.04.03 |
[C언어 소스] 파일 읽기 isupper,islower,isdigit 함수 사용 (0) | 2016.04.03 |