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

C 언어의 파일에 대한 다른 작업은 무엇입니까?

<시간/>

C 언어의 파일에 대해 수행할 수 있는 작업은 다음과 같습니다. -

  • 파일 이름 지정.
  • 파일 열기.
  • 파일에서 읽기.
  • 파일에 쓰기.
  • 파일을 닫습니다.

구문

파일 열기 및 이름 지정 구문 다음과 같습니다 -

FILE *File pointer;

예를 들어, 파일 * fptr;

File pointer = fopen ("File name”, "mode”);

예를 들어, fptr =fopen("sample.txt", "r")

FILE *fp;
fp = fopen ("sample.txt”, "w”);

파일 열기 모드

C 언어로 파일을 여는 모드는 아래에 설명되어 있습니다 -

모드 설명
r 읽기 위해 파일이 열립니다.
w 파일이 쓰기 위해 열려 있습니다.
a+ 추가를 위해 열린 파일
r+ 읽기 및 쓰기를 위해 열린 파일
w+ 쓰기 및 읽기를 위해 열린 파일
a+ 추가 및 읽기를 위해 열린 파일
RT 읽기 위해 텍스트 파일이 열립니다.
무게 쓰기를 위해 텍스트 파일이 열립니다.
추가를 위해 텍스트 파일이 열립니다.
r+t 읽기 및 쓰기를 위해 텍스트 파일이 열립니다.
w+t 쓰기 및 읽기를 위해 텍스트 파일이 열립니다.
a+t 추가 및 읽기를 위해 텍스트 파일이 열립니다.
rb 이진 파일이 읽기 위해 열려 있습니다.
wb 쓰기를 위해 바이너리 파일이 열립니다.
ab 추가를 위해 바이너리 파일이 열립니다.
r+b 이진 파일이 읽기 및 쓰기를 위해 열립니다.
w+b 쓰기 및 읽기를 위해 바이너리 파일이 열립니다.
a+b 이진 파일은 추가 및 읽기 모두에 대해 열립니다.
  • 파일을 여는 쓰기 모드

구문은 다음과 같습니다 -

FILE *fp;
fp = fopen ("sample.txt”, "w”);

파일이 없으면 새 파일이 생성됩니다.

파일이 존재하면 기존 내용은 지워지고 현재 내용이 저장됩니다.

  • 파일을 여는 읽기 모드

구문은 다음과 같습니다 -

FILE *fp
fp =fopen ("sample.txt”, "r”);

파일이 존재하지 않으면 fopen 함수는 NULL 값을 반환합니다.

파일이 있으면 파일에서 데이터를 성공적으로 읽습니다.

  • 파일을 여는 추가 모드

구문은 다음과 같습니다 -

FILE *fp;
fp =fopen ("sample.txt", "a");

파일이 없으면 새 파일이 생성됩니다.

파일이 존재하면 현재 콘텐츠가 이전 콘텐츠에 추가됩니다.

모드 종료 나가지 않음
R 읽기 fp="NULL"
W 현재 콘텐츠 새 파일이 생성됩니다
A 이전 콘텐츠현재 콘텐츠
새 파일이 생성됩니다.

예시

다음은 파일 작업을 위한 C 프로그램입니다 -

//Program for copying the contents of one file into another file
#include <stdio.h>
#include <stdlib.h> // For exit()
int main(){
   FILE *fptr1, *fptr2;
   char filename[100], c;
   printf("Enter the filename to open for reading \n");
   scanf("%s",filename);
   // Open one file for reading
   fptr1 = fopen(filename, "r");
   if (fptr1 == NULL){
      printf("Cannot open file %s \n", filename);
      exit(0);
   }
   printf("Enter the filename to open for writing \n");
   scanf("%s", filename);
   // Open another file for writing
   fptr2 = fopen(filename, "w");
   if (fptr2 == NULL){
      printf("Cannot open file %s \n", filename);
      exit(0);
   }
   // Read contents from file
   c = fgetc(fptr1);
   while (c != EOF){
      fputc(c, fptr2);
      c = fgetc(fptr1);
   }
   printf("\nContents copied to %s", filename);
   fclose(fptr1);
   fclose(fptr2);
   return 0;
}

출력

위의 프로그램이 실행되면 다음과 같은 결과가 생성됩니다 -

Enter the filename to open for reading
file2.txt
Enter the filename to open for writing
file1.txt
Contents copied to file1.txt