用C语言解释文件的写模式操作
文件是记录的集合,或者是硬盘上永久存储数据的地方。
文件需要
当程序终止时,整个数据都将丢失。
即使程序终止,存储在文件中也会保留数据。
如果要输入大量数据,通常需要花费大量时间才能全部输入。
我们可以使用很少的命令轻松访问文件的内容。
您可以轻松地将数据从一台计算机移动到另一台计算机而无需更改。
通过使用C命令,我们可以以不同的方式访问文件。
对文件的操作
C语言对文件的操作如下:
命名文件
打开文件
从文件中读取
写入文件
关闭文件
语法
声明文件指针的语法如下-
FILE *File pointer;
例如,FILE*fptr;
命名和打开文件指针的语法如下-
File pointer = fopen ("File name", "mode");
例如,
FILE *fp; fp = fopen ("sample.txt", "w");
程序1
以下是读取n个学生的姓名和分数并将它们存储在文件中的C程序-
#include输出结果int main(){ char name[50]; int marks, i, num; printf("输入学生人数: "); scanf("%d", &num); FILE *fptr; fptr = (fopen("std.txt", "w")); //以写模式打开文件 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("输入标记: "); scanf("%d", &marks); fprintf(fptr,"\nName: %s \nMarks=%d \n", name, marks); } fclose(fptr); return 0; }
执行上述程序时,会产生以下结果-
输入学生人数: 3 For student1 Enter name: lucky 输入标记: 59 For student2 Enter name: pinky 输入标记: 89 For student3 Enter name: bob 输入标记: 45
程序2
以下是用于将员工的详细信息存储在文件中并打印相同的C程序-
#include输出结果int main ( ){ FILE *fp; int eno; char ename[30]; float sal; fp =fopen ("emp.txt", "w"); //以写模式打开文件 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