본문으로 바로가기
homeimage
  1. Home
  2. 컴퓨터/프로그래밍
  3. C언어 fread 함수 파일로부터 지정한 개수만큼 자료 읽기

C언어 fread 함수 파일로부터 지정한 개수만큼 자료 읽기

· 댓글개 · 바다야크

C fread() 파일로부터 지정한 개수만큼 자료 읽기 함수

파일 스트림을 통해 데이터를 읽어 들입니다.

  • 헤더: stdio.h
  • 형태: size_t fread( void *ptr, size_t size, size_t nitems, FILE *stream)
  • 인수: void *ptr 파일 내용을 읽어 들일 메모리 포인터
    size_t size 데이터 하나의 크기
    size_t nitems 읽어 등일 데이터의 개수
    FILE *stream 대상 파일 스트림
  • 반환: size_t 읽어들인 데이터 개수를 반환하며, 오류가 발생하면 -1을 반환

C언어 fread() 함수 예제

예제는 fread()와 fwrite()를 이용한 파일 복사입니다.

#include <stdio.h>

int main( void)
{
   FILE    *fp_sour;    // 파일 원본을 위한 파일 스트림 포인터
   FILE    *fp_dest;    // 복사 대상을 위한 파일 스트림 포인터
   char     buff[1024]; // 파일 내요을 읽기/쓰기를 위한 버퍼
   size_t   n_size;     // 읽거나 쓰기를 위한 데이터의 개수
                                          
   fp_sour  = fopen( "./test.c"  , "r");
   fp_dest  = fopen( "./test.bck", "w");
                            
   while( 0 < (n_size = fread( buff, 1, 1024, fp_sour))){
      fwrite( buff, 1, n_size, fp_dest);
   }                            

   fclose( fp_sour);
   fclose( fp_dest);
   
   return 0;
}

C언어 fread() 함수 예제 실행 결과

]$ ./a.out
]$ cat test.bck
#include <stdio.h>

int main( void)
{
   FILE    *fp_sour;    // 파일 원본을 위한 파일 스트림 포인터
   FILE    *fp_dest;    // 복사 대상을 위한 파일 스트림 포인터
   char     buff[1024]; // 파일 내요을 읽기/쓰기를 위한 버퍼
   size_t   n_size;     // 읽거나 쓰기를 위한 데이터의 개수

   fp_sour  = fopen( "./test.c"  , "r");
   fp_dest  = fopen( "./test.bck", "w");

   while( 0 < (n_size = fread( buff, 1, 1024, fp_sour))){
      fwrite( buff, 1, n_size, fp_dest);
   }

   fclose( fp_sour);
   fclose( fp_dest);

   return 0;
}]$
SNS 공유하기
💬 댓글 개
최근글
이모티콘창 닫기
울음
안녕
감사해요
당황
피폐

이모티콘을 클릭하면 댓글창에 입력됩니다.