C언어 fgets 함수 파일 문자열 읽기

2020. 3. 13. 15:14 컴퓨터/프로그래밍

C fgets() 파일 문자열 읽기 함수

파일 스트림으로부터 문자열을 읽어 들입니다.

  • 헤더: stdio.h
  • 형태: char *fgets( char *str, int size, FILE *stream)
  • 인수: int *str 문자열을 읽어 들일 메모리 포인터
    int size 입력 받을 수 있는 최대 문자 개수
    FILE *stream 읽기를 하고자 하는 FILE 포인터
  • 반환: int 정상적으로 읽기를 수행했다면 메모리 포인터를 반환하며, 파일 끝이거나 오류가 발생하면 NULL을 반환합니다.

예제

#include <stdio.h>
#include <stdlib.h>

int main( void)
{
   FILE      *fp_sour, *fp_dest;
   char      *buf;
   int        buf_size;
                       
   buf_size = 1024;
                          
   if ( fp_sour   = fopen( "./test.c", "r")) {
      if ( fp_dest   = fopen( "./backup.c", "w")) {
         buf   = malloc( buf_size+5);
         
         while( fgets( buf, buf_size, fp_sour))
            fputs( buf, fp_dest);

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

실행 결과

]$ ./a.out
]$ cat backup.c
#include <stdio.h>
#include <stdlib.h>

int main( void)
{
   FILE      *fp_sour, *fp_dest;
   char      *buf;
   int        buf_size;

   buf_size = 1024;

   if ( fp_sour   = fopen( "./test.c", "r")) {
      if ( fp_dest   = fopen( "./backup.c", "w")) {
         buf   = malloc( buf_size+5);

         while( fgets( buf, buf_size, fp_sour))
            fputs( buf, fp_dest);

         free( buf);
         fclose( fp_dest);
      }
      fclose( fp_sour);
   }
   return 0;
}]$
이 댓글을 비밀 댓글로

티스토리 로그인이 풀리면 여기를 클릭하세요.

error: Content is protected !!