본문 바로가기
C/C Library

freopen

by memora 2024. 8. 30.

Index로 돌아가기  

 

【기  능】 열려있는 파일을 close하고 다시 open한다.
 
 【소  속】 stdio.h 
   #include <stdio.h>
 
 【서  식】  
   FILE *freopen(const char *filename, const char *mode, FILE *fp);
 
 【설  명】  
   현재 오픈 되어 있는 파일(파일 포인터 *fp에 보존되어 있는 파일)을 close하고, 파일네임(filename)의 파일을 지정 모드(mode)로 오픈하여 파일 포인트에 다시 넣어준다.
 
 【인  수】  
   const char *filename : 재 오픈할 파일명 
   const char *mode : 재 오픈할 모드 
   FILE *fp : file pointer. fopen함수로 오픈한 파일정보를 가지고 있는 핸들러, 재오픈시 파일정보가 입력된다. 
 
 【리턴 값】
  성공 : 파일 포인터(핸들러)
  실패 : NULL
 
 【사용 예】
#include <stdio.h>
#include <stdlib.h>

int main(void)
{
    char filename[] = "test_data.txt";
    FILE *fp;

    /* 파일을 읽기 모드로 오픈 */
    ((fp = fopen(filename, "r")) == NULL) {
        printf("파일 오픈 에러\n");
        exit(EXIT_FAILURE);
    }
    else{
        printf("파일 오픈 성공 : 읽기 모드\n");
    }

    if ((fp = freopen(filename, "w", fp)) == NULL) {
        printf("파일 재 오픈 에러\n");
        exit(EXIT_FAILURE);
    }
    else{
        printf("파일 재 오픈 성공 : 쓰기 모드\n");
    }

    fclose(fp);

    return 0;
}


  【결   과】
파일 오픈 성공 : 읽기 모드
파일 재 오픈 성공 : 쓰기 모드

 

 

Index로 돌아가기

반응형

'C > C Library' 카테고리의 다른 글

fread  (3) 2024.10.17
remove  (0) 2024.09.04
fopen  (0) 2024.08.21
fgetpos  (0) 2024.08.15
fputs  (0) 2024.08.14