Jiyong's STUDY

fread, fwrite. 바이너리 파일의 입출력 함수. 본문

프로그래밍/C

fread, fwrite. 바이너리 파일의 입출력 함수.

Kingjiyong 2018. 5. 29. 04:23

#include <stdio.h>

size_t fread(void *buffer, size_t size, size_t count, FILE *stream);


이 함수의 역할은, stream에서 buffer로

size 바이트의 크기의 데이터를 count개 받아들인다.


int main(){

FILE *fp=fopen("test.bin", "rb");

char arr[5];


fread((void *)arr, sizeof(char), sizeof(arr)/sizeof(arr), fp);

fclose(fp);

}


이 함수를 보면, test.bin에서 1바이트의 데이터 5개를 읽어들여 arr에 저장한다.


#include <stdio.h>

size_t fwrite(void *buffer, size_t size, size_t count, FILE *stream);


마찬가지로 함수의 역할은, buffer에서 stream으로

size 바이트의 크기의 데이터를 count개 받아들인다.


int main(){

FILE *fp=fopen("test.bin", "wb");

int arr[5]={1,2,3,4,5);


fwrite((void *)arr, sizeof(int), sizeof(arr)/sizeof(int), fp);

fclose(fp);

}


이 함수를 보면, arr에서 int 크기의 데이터 5개를 읽어들여 fp에 저장한다.


간단하다. 그냥 반대이다.