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

C 언어로 된 파일의 쓰기 모드 동작 설명

<시간/>

파일은 기록의 모음이거나 데이터가 영구적으로 저장되는 하드 디스크의 한 장소입니다.

파일 필요

  • 프로그램이 종료되면 전체 데이터가 손실됩니다.

  • 파일에 저장하면 프로그램이 종료되어도 데이터가 보존됩니다.

  • 많은 양의 데이터를 입력할 경우 일반적으로 모두 입력하는 데 시간이 많이 걸립니다.

  • 몇 가지 명령을 사용하여 파일 내용에 쉽게 액세스할 수 있습니다.

  • 변경 없이 한 컴퓨터에서 다른 컴퓨터로 데이터를 쉽게 이동할 수 있습니다.

  • C 명령을 사용하여 다양한 방법으로 파일에 액세스할 수 있습니다.

파일 작업

C 프로그래밍 언어의 파일에 대한 작업은 다음과 같습니다. -

  • 파일 이름 지정
  • 파일 열기
  • 파일에서 읽기
  • 파일에 쓰기
  • 파일 닫기

구문

파일 포인터 선언 구문 다음과 같습니다 -

FILE *File pointer;

예를 들어, 파일 * fptr;

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

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

예를 들어,

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

프로그램1

다음은 n명의 학생의 이름과 점수를 읽어서 파일에 저장하는 C 프로그램입니다 -

#include <stdio.h>
int main(){
   char name[50];
   int marks, i, num;
   printf("Enter number of students: ");
   scanf("%d", &num);
   FILE *fptr;
   fptr = (fopen("std.txt", "w")); // opening file in write mode
   if(fptr == NULL){
      printf("Error!");
      exit(1);
   }
   for(i = 0; i < num; ++i){
      printf("For student%d\nEnter name: ", i+1);
      scanf("%s", name);
      printf("Enter marks: ");
      scanf("%d", &marks);
      fprintf(fptr,"\nName: %s \nMarks=%d \n", name, marks);
   }
   fclose(fptr);
   return 0;
}

출력

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

Enter number of students: 3
For student1
Enter name: lucky
Enter marks: 59
For student2
Enter name: pinky
Enter marks: 89
For student3
Enter name: bob
Enter marks: 45

프로그램2

다음은 직원의 세부 정보를 파일에 저장하고 동일한 내용을 인쇄하는 C 프로그램입니다 -

#include<stdio.h>
int main ( ){
   FILE *fp;
   int eno;
   char ename[30];
   float sal;
   fp =fopen ("emp.txt", "w"); // opening file in write mode
   printf ("enter the details of eno, ename, sal:");
   scanf ("%d%s%f", &eno, ename, &sal);
   fprintf (fp, "%d%s%f", eno, ename, sal);
   fclose (fp);
   fp = fopen ("emp.txt", "r");
   fscanf (fp, "%d%s%f", &eno, ename, &sal);
   printf ("employee no: = %d\n", eno);
   printf ("employee name = %s\n", ename);
   printf ("salary = %f\n", sal);
   fclose (fp);
   return 0;
}

출력

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

enter the details of eno, ename, sal:1 Pinky 34000
employee no: = 1
employee name = Pinky
salary = 34000.000000