fread
헤더 파일
[언어 자료구조 알고리즘/C11 표준 라이브러리 함수] - STDIO.H
size_t fread ( void * base, size_t size, size_t count, FILE * fp); 파일 스트림에서 데이터를 읽는 함수
입력 매개 변수 리스트
base 데이터를 읽어올 버퍼
size 읽어올 데이터 하나의 크기
count 읽어올 데이터 개수
fp 입력 파일 스트림
반환 값
읽어온 데이터 개수
fread 함수는 요청한 데이터 개수보다 반환 값이 작다고 오류가 아니며 파일에 데이터를 모두 읽어온 것입니다.
사용 예
//C언어 표준 라이브러리 함수 사용법 가이드
//size_t fwrite ( const void * base, size_t size, size_t count, FILE * fp); 파일 스트림에 데이터를 쓰는 함수
//회원 데이터 배열의 내용을 파일에 기록하고 다시 읽어와서 출력
#include <stdio.h>
#define MAX_NAME_LEN 20
typedef struct{
char name[MAX_NAME_LEN+1];
int age;
}Member;
#define MAX_MEMBERS 10
int main (void)
{
FILE * fp;
int i;
Member members[MAX_MEMBERS]=
{
{"홍길동",20},{"강감찬",15},{"을지문덕",22},{"이순신",19},{"김구",30},
{"안중근",30},{"박찬호",35},{"김연아",17},{"아이유",20},{"주니엘",20}
};
Member members2[MAX_MEMBERS];
//쓰기 모드로 파일 열기
fopen_s (&fp,"data.txt","wb");
if (fp==NULL)
{
perror ("error fopen");
return;
}
//출력 파일 스트림에 members 배열의 내용 출력
if(fwrite(members,sizeof(Member),MAX_MEMBERS,fp) != MAX_MEMBERS)
{
printf("출력 오류\n");
return;
}
fclose (fp);//출력 파일 스트림 닫기
//읽기 모드로 파일 열기
fopen_s (&fp,"data.txt","rb");
if (fp==NULL)
{
perror ("error fopen");
return;
}
//파일에서 members2 배열로 데이터 읽기
fread(members2,sizeof(Member),MAX_MEMBERS,fp);
//읽어온 데이터 출력
printf("%-10s %-10s\n","이름","나이");
for(i=0;i<MAX_MEMBERS; i++)
{
printf("%-10s %-10d\n",members2[i].name,members2[i].age);
}
fclose (fp); //입력 파일 스트림 닫기
return 0;
}
출력
이름 나이
홍길동 20
강감찬 15
을지문덕 22
이순신 19
김구 30
안중근 30
박찬호 35
김연아 17
아이유 20
주니엘 20
새로 만들어진 output.txt 내용
홍길동 儆? 강감찬 儆? 을지문덕 儆? 이순신 儆? 김구 儆? 안중근 儆? 박찬호 儆? 김연아 儆? 아이유 儆? 주니엘 儆?
사용한 함수
[언어 자료구조 알고리즘/C11 표준 라이브러리 함수] - fopen_s
[언어 자료구조 알고리즘/C11 표준 라이브러리 함수] - perror
'언어 자료구조 알고리즘 > C11 표준 라이브러리 함수' 카테고리의 다른 글
perror 함수 [C언어 표준 라이브러리 함수 가이드] (0) | 2016.01.03 |
---|---|
feof 함수 [C언어 표준 라이브러리 함수 가이드] (0) | 2016.01.03 |
ferro 함수[C언어 표준 라이브러리 함수 가이드] (0) | 2016.01.03 |
fseek 함수[C언어 표준 라이브러리 함수 가이드] (0) | 2016.01.03 |
ftell 함수[C언어 표준 라이브러리 함수 가이드] (0) | 2016.01.03 |
fwrite 함수[C언어 표준 라이브러리 함수 가이드] (0) | 2016.01.03 |
fflush 함수[C언어 표준 라이브러리 함수 가이드] (0) | 2016.01.03 |
vprintf 함수[C언어 표준 라이브러리 함수 가이드] (0) | 2016.01.03 |
sscanf_s 함수[C언어 표준 라이브러리 함수 가이드] (0) | 2016.01.03 |
sscanf 함수[C언어 표준 라이브러리 함수 가이드] (0) | 2016.01.03 |