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


文件是记录的集合,或者说是硬盘上永久存储数据的地方。

文件的必要性

  • 程序终止时,所有数据都会丢失。

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

  • 如果您想输入大量数据,通常需要花费大量时间来输入所有数据。

  • 我们可以很容易地使用一些命令来访问文件的内容。

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

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

文件操作

C语言中的文件操作如下:

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

语法

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

FILE *File pointer;

例如,FILE * fptr;

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

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

例如:

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

程序1

下面是一个C程序,用于读取n个学生的姓名和分数,并将它们存储在一个文件中:

 在线演示

#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

更新于:2021年3月24日

763 次浏览

启动您的职业生涯

完成课程获得认证

开始学习
广告