原文: https://www.programiz.com/c-programming/c-file-examples

在本文中,您将找到处理 C 编程中文件输入/输出操作的示例列表。

要了解此页面上的所有程序,您应该了解以下主题。


C 文件示例

1. C 程序:读取 n 个学生的姓名和分数并将它们存储在文件中。

  1. #include <stdio.h>
  2. int main()
  3. {
  4. char name[50];
  5. int marks, i, num;
  6. printf("Enter number of students: ");
  7. scanf("%d", &num);
  8. FILE *fptr;
  9. fptr = (fopen("C:\\student.txt", "w"));
  10. if(fptr == NULL)
  11. {
  12. printf("Error!");
  13. exit(1);
  14. }
  15. for(i = 0; i < num; ++i)
  16. {
  17. printf("For student%d\nEnter name: ", i+1);
  18. scanf("%s", name);
  19. printf("Enter marks: ");
  20. scanf("%d", &marks);
  21. fprintf(fptr,"\nName: %s \nMarks=%d \n", name, marks);
  22. }
  23. fclose(fptr);
  24. return 0;
  25. }

2. C 程序:读取 n 个学生的姓名和标志并将它们存储在文件中。 如果文件先前已退出,则将信息添加到文件中。

  1. #include <stdio.h>
  2. int main()
  3. {
  4. char name[50];
  5. int marks, i, num;
  6. printf("Enter number of students: ");
  7. scanf("%d", &num);
  8. FILE *fptr;
  9. fptr = (fopen("C:\\student.txt", "a"));
  10. if(fptr == NULL)
  11. {
  12. printf("Error!");
  13. exit(1);
  14. }
  15. for(i = 0; i < num; ++i)
  16. {
  17. printf("For student%d\nEnter name: ", i+1);
  18. scanf("%s", name);
  19. printf("Enter marks: ");
  20. scanf("%d", &marks);
  21. fprintf(fptr,"\nName: %s \nMarks=%d \n", name, marks);
  22. }
  23. fclose(fptr);
  24. return 0;
  25. }

3. C 程序:使用fwrite()将结构数组的所有成员写入文件。 从文件中读取数组并显示在屏幕上。

  1. #include <stdio.h>
  2. struct student
  3. {
  4. char name[50];
  5. int height;
  6. };
  7. int main(){
  8. struct student stud1[5], stud2[5];
  9. FILE *fptr;
  10. int i;
  11. fptr = fopen("file.txt","wb");
  12. for(i = 0; i < 5; ++i)
  13. {
  14. fflush(stdin);
  15. printf("Enter name: ");
  16. gets(stud1[i].name);
  17. printf("Enter height: ");
  18. scanf("%d", &stud1[i].height);
  19. }
  20. fwrite(stud1, sizeof(stud1), 1, fptr);
  21. fclose(fptr);
  22. fptr = fopen("file.txt", "rb");
  23. fread(stud2, sizeof(stud2), 1, fptr);
  24. for(i = 0; i < 5; ++i)
  25. {
  26. printf("Name: %s\nHeight: %d", stud2[i].name, stud2[i].height);
  27. }
  28. fclose(fptr);
  29. }