일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 소스 코드
- c언어
- 파이썬
- 언제나 휴일
- c#
- 졸업 작품
- 충남 천안
- 추천
- C++
- 실습
- 소켓 통신
- 졸업 작품 소재
- Windows Forms
- 실습으로 다지는 c#
- 표준 입출력
- 유튜브 동영상 강의
- 캡슐화
- 강의
- 언제나휴일
- 클래스 다이어그램
- 산책하기 좋은 곳
- 프로젝트
- 네트워크 프로그래밍
- 동영상 강의
- 안드로이드 앱 개발
- 표준 라이브러리 함수
- 원격 제어 프로그램
- 알고리즘
- 동영상
- 무료 동영상 강의
Archives
- Today
- Total
프로그래밍 언어 및 기술 [언제나휴일]
fread 함수 [C언어 표준 라이브러리 함수] 본문
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 내용
홍길동 儆? 강감찬 儆? 을지문덕 儆? 이순신
儆? 김구 儆? 안중근 儆? 박찬호 儆? 김연아
儆? 아이유 儆? 주니엘 儆?
'C & C++ > C언어 표준 라이브러리 함수' 카테고리의 다른 글
feof 함수 [C언어 표준 라이브러리 함수] (1) | 2024.02.07 |
---|---|
ferror 함수 [C언어 표준 라이브러리 함수] (0) | 2024.02.07 |
fseek 함수 [C언어 표준 라이브러리 함수] (0) | 2024.02.06 |
ftell 함수 [C언어 표준 라이브러리 함수] (1) | 2024.02.05 |
fwrite 함수 [C언어 표준 라이브러리 함수] (0) | 2024.02.02 |
fflush 함수 [C언어 표준 라이브러리 함수] (0) | 2024.02.02 |
vprintf 함수 [C언어 표준 라이브러리 함수] (0) | 2024.02.02 |
sscanf 함수, sscanf_s 함수 [C언어 표준라이브러리 함수] (0) | 2024.02.02 |