多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# C 文件示例 > 原文: [https://www.programiz.com/c-programming/c-file-examples](https://www.programiz.com/c-programming/c-file-examples) #### 在本文中,您将找到处理 C 编程中文件输入/输出操作的示例列表。 要了解此页面上的所有程序,您应该了解以下主题。 * [C 数组](/c-programming/c-arrays "C programming Arrays") * [C 指针](/c-programming/c-pointers "C Programming Pointers") * [数组和指针关系](/c-programming/c-pointers-arrays "Relation Between Arrays and Pointer") * [文件 I/O](/c-programming/c-file-input-output "C File Input Output") * * * ## C 文件示例 **1\. C 程序:读取 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("C:\\student.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("Enter marks: "); scanf("%d", &marks); fprintf(fptr,"\nName: %s \nMarks=%d \n", name, marks); } fclose(fptr); return 0; } ``` **2\. C 程序:读取 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("C:\\student.txt", "a")); 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; } ``` **3\. C 程序:使用`fwrite()`将结构数组的所有成员写入文件。 从文件中读取数组并显示在屏幕上。** ```c #include <stdio.h> struct student { char name[50]; int height; }; int main(){ struct student stud1[5], stud2[5]; FILE *fptr; int i; fptr = fopen("file.txt","wb"); for(i = 0; i < 5; ++i) { fflush(stdin); printf("Enter name: "); gets(stud1[i].name); printf("Enter height: "); scanf("%d", &stud1[i].height); } fwrite(stud1, sizeof(stud1), 1, fptr); fclose(fptr); fptr = fopen("file.txt", "rb"); fread(stud2, sizeof(stud2), 1, fptr); for(i = 0; i < 5; ++i) { printf("Name: %s\nHeight: %d", stud2[i].name, stud2[i].height); } fclose(fptr); } ```