[C언어 소스] 회원 구조체 배열을 파일에 쓰기 및 읽기 테스트
#include <stdio.h>
#define FNAME "data.txt"
#define MAX_MEMBER 4
#define MAX_NAME_LEN 20
typedef struct _Member Member;
struct _Member
{
char name[MAX_NAME_LEN+1];
int num;
};
Member src[MAX_MEMBER]=
{
{"홍길동",1},{"강감찬",4},{"을지문덕",2},{"김구",3}
};
Member dest[MAX_MEMBER];
void Save();//src의 회원 정보 파일에 쓰기
void Load();//파일에 회원 정보를 dest로 읽기
void List();//dest 내용 출력
int main()
{
Save();
Load();
List();
return 0;
}
void Save()
{
FILE *fp = 0;
fopen_s(&fp, FNAME,"w");
if(fp)
{
fwrite(src,sizeof(Member),MAX_MEMBER,fp);
fclose(fp);
}
else
{
printf("데이터 저장 실패\n");
}
}
void Load()
{
FILE *fp = 0;
fopen_s(&fp, FNAME,"r");
if(fp)
{
fread(dest,sizeof(Member),MAX_MEMBER,fp);
fclose(fp);
}
else
{
printf("처음으로 회원 관리 프로그램을 사용을 환영합니다.\n");
}
}
void List()
{
int i = 0;
for(i=0;i<MAX_MEMBER;
i++)
{
printf("이름:%s 번호:%d\n",dest[i].name,dest[i].num);
}
}
실행 결과
이름:홍길동 번호:1
이름:강감찬 번호:4
이름:을지문덕 번호:2
이름:김구 번호:3
본문
'C언어 > 디딤돌 C언어 예제' 카테고리의 다른 글
[C언어 소스] 함수 포인터 변수를 사용하는 예 (0) | 2016.12.04 |
---|---|
[C언어 소스] 장르별 도서 관리 프로그램 (0) | 2016.12.04 |
[C언어 소스] fscanf_s 함수로 파일에서 입력받기 (0) | 2016.12.04 |
[C언어 소스] fscanf_s 함수로 키보드에서 입력받기 (0) | 2016.12.04 |
[C언어 소스] fprintf 함수로 특정 파일에 출력하기 (0) | 2016.12.04 |