Computer >> 컴퓨터 >  >> 프로그램 작성 >> C 프로그래밍

C에서 쓰기 모드의 기존 파일에 대한 fopen()

<시간/>

C의 fopen() 메서드는 지정된 파일을 여는 데 사용됩니다.

문제를 이해하기 위해 예를 들어보겠습니다.

구문

FILE *fopen(filename, mode)

fopen()을 사용하여 파일을 여는 유효한 모드는 'r', 'w', 'a', 'r+', 'w+', 'a+'입니다. 자세한 내용은 방문 C 라이브러리 함수 - fopen()

쓰기 모드의 기존 파일에 대한 fopen()

열려는 파일이 현재 디렉토리에 없으면 쓰기 모드로 비어 있는 새 파일이 생성됩니다.

열려는 파일이 현재 디렉토리에 존재하고 'w' / 'w+'를 사용하여 열려 있으면 쓰기 전에 내용을 삭제합니다.

예시

솔루션 작동을 설명하는 프로그램

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

int main(){

   FILE *opFile = fopen("test.txt", "w");
   if (opFile == NULL){

      puts("Couldn't open file");
      exit(0);
   }
   else{

      fputs("includehelp", opFile);
      puts("Write operation successful");
      fclose(opFile);
   }
   return 0;
}

출력

Write operation successful

파일의 초기 내용 - C 프로그래밍 언어

추가 작업 후 내용 - 도움말 포함

쓰기 작업은 작업을 수행하지만 쓰기 작업이 수행되기 전에 파일에 있던 모든 내용을 삭제합니다. 이를 해결하기 위해 C 프로그래밍 언어는 프로그램의 요구 사항에 따라 프로그래머가 사용할 수 있는 두 가지 접근 방식으로 업데이트되었습니다.

  • 'a'(추가) 모드 - 이 모드는 파일에 작성된 내용의 끝에 새 내용을 추가합니다.

  • 'wx' 모드 - 파일이 이미 디렉토리에 있으면 NULL을 반환합니다.

예시

'a' 모드를 사용하여 기존 파일에 쓰기 작업을 설명하는 프로그램

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

int main(){

   FILE *opFile = fopen("test.txt", "a");
   if (opFile == NULL){

      puts("Couldn't open file");
      exit(0);
   }
   else{

      fputs("includehelp", opFile);
      puts("Write operation successful");
      fclose(opFile);
   }
   return 0;
}

출력

Write operation successful

파일의 초기 내용 - C 프로그래밍 언어

추가 작업 후 내용 - C 프로그래밍 언어 includehelp

예시

'wx' 모드를 사용하여 기존 파일에 쓰기 작업을 설명하는 프로그램

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

int main(){

   FILE *opFile = fopen("test.txt", "wx");
   if (opFile == NULL){

      puts("Couldn't open file");
      exit(0);
   }
   else{

      fputs("includehelp", opFile);
      puts("Write operation successful");
      fclose(opFile);
   }
   return 0;
}

출력

Write operation successful