首页 > 文章列表 > 解释C语言中文件的写入模式操作

解释C语言中文件的写入模式操作

文件 写入 模式
217 2023-09-12

文件是记录的集合,或者是硬盘上的一个位置,用于永久存储数据。

文件的需求

  • 当程序终止时,整个数据都会丢失。

  • 将数据存储在文件中,即使程序终止,数据也会被保留。

  • 如果要输入大量数据,通常需要花费很多时间来输入。

  • 我们可以使用几个命令轻松访问文件的内容。

  • 您可以轻松地将数据从一台计算机移动到另一台计算机而不进行更改。

  • 通过使用C命令,我们可以以不同的方式访问文件。

文件操作

C编程语言中的文件操作如下所示:

  • 命名文件
  • 打开文件
  • 从文件中读取
  • 向文件中写入
  • 关闭文件

语法

声明文件指针的语法如下:

FILE *File pointer;

例如,FILE * fptr;

命名和打开文件指针的语法如下 -

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

例如,

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

program1

以下是用于读取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

Enter name: ", i+1);       scanf("%s", name);       printf("Enter marks: ");       scanf("%d", &marks);       fprintf(fptr,"

Name: %s

Marks=%d

", 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

", eno);    printf ("employee name = %s

", ename);    printf ("salary = %f

", sal);    fclose (fp);    return 0; }

输出

当上述程序被执行时,它产生以下结果 −

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