解释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
广告