본문으로 바로가기
homeimage
  1. Home
  2. 컴퓨터/프로그래밍
  3. C언어 fwrite 함수 파일에 버퍼 쓰기

C언어 fwrite 함수 파일에 버퍼 쓰기

· 댓글개 · 바다야크

C fwrite() 파일에 버퍼 쓰기 함수

파일에 버퍼 내용을 쓰기합니다.

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

C언어 fwrite() 함수 예제

예제는 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;
}

실행 결과

]$ ./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 공유하기
💬 댓글 개
최근글
이모티콘창 닫기
울음
안녕
감사해요
당황
피폐

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