完整代码块展示:

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. struct student_information
  5. {
  6. char name[];
  7. char stu_ID[];
  8. char sex[];
  9. char class_[];
  10. char score[];
  11. }s[],a[];
  12. int main() {
  13. system("color E1");//改变cmd窗口颜色及前景色
  14. //建立含有十个人名字的二维数组
  15. char name1[][] = { {"伊杰"},{"张三"},{"李四"},{"漆靖"},{"绍杰"},{"曾纪"},{"省龙"},{"许慎"},{"赵五"},{"欧阳"} };
  16. int i, n;
  17. char item[] = { "学号 性别 班级 线代成绩" };
  18. for (i = ;i < ;i++) {
  19. strcpy(s[i].name, name1[i]);
  20. strcat(name1[i], ".txt");//使创建的文件为txt格式
  21. }
  22. FILE* fp;//创建并打开以姓名命名的文件文档,并检查打开是否成功
  23. for (i = ;i < ;i++) {
  24. if (( fp = fopen(name1[i],"w+")) == NULL ) {
  25. printf("file can not open!");
  26. exit();
  27. }
  28. fprintf(fp, "%s", item);//第一行依次录入 学号 性别 班级 线代成绩
  29. if (fclose(fp)) {
  30. printf("file close error!");//关闭文件并检验
  31. exit();
  32. }
  33. }
  34. printf(" ##################################################### \n");
  35. printf(" \n");
  36. printf(" 学生信息管理系统 \n");
  37. printf(" 欢迎您的使用! \n");
  38. printf(" 请按任意键继续 \n");
  39. printf(" \n");
  40. printf(" ***************************************************** \n");
  41. system("pause");
  42. system("cls");
  43. printf("请按:学号 性别 班级 线代成绩的顺序依次录入相关信息");
  44. for (i = ;i < ;i++) {
  45. printf("\n%s: ", s[i].name);
  46. scanf("%s %s %s %s", s[i].stu_ID, s[i].sex, s[i].class_, s[i].score);//按顺序依次录入学生信息
  47. if ((fp = fopen(name1[i], "a+")) == NULL) {
  48. printf("file open error!");
  49. exit();
  50. }
  51. fprintf(fp, "\n%s %s %s %s",s[i].stu_ID, s[i].sex, s[i].class_, s[i].score);
  52. fclose(fp);
  53. }
  54. printf("录入成功\n");
  55. system("pause");//使程序在此暂停
  56. system("cls");//清屏
  57. printf(" 下面请查看录入的学生成绩 \n");
  58. for (i = ;i < ;i++) {
  59. if ((fp = fopen(name1[i], "a+")) == NULL) {
  60. printf("file open error!");
  61. exit();
  62. }
  63. fscanf(fp, "%*[^\n]");//读取文件时跳过第一行
  64. fscanf(fp, "%s %s %s %s",a[i].stu_ID, a[i].sex, a[i].class_, a[i].score);//按顺序依次读取文件内容
  65. fclose(fp);
  66. }
  67. for (i = ;i < ;i++) {
  68. printf("%s: %s %s %s %s\n", s[i].name,a[i].stu_ID,a[i].sex,a[i].class_,a[i].score);//输出学生相关信息
  69. }
  70. return ;
  71.  
  72. }

任务一:

创建十个以姓名命名的文件文档

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. struct student_information
  5. {
  6. char name[];
  7. char stu_ID[];
  8. char sex[];
  9. char class_[];
  10. char score[];
  11. }s[],a[];
  12. int main() {
  13. system("color E1");//改变cmd窗口颜色及前景色
  14. //建立含有十个人名字的二维数组
  15. char name1[][] = { {"伊杰"},{"张三"},{"李四"},{"漆靖"},{"绍杰"},{"曾纪"},{"省龙"},{"许慎"},{"赵五"},{"欧阳"} };
  16. int i, n;
  17. char item[] = { "学号 性别 班级 线代成绩" };
  18. for (i = ;i < ;i++) {
  19. strcpy(s[i].name, name1[i]);
  20. strcat(name1[i], ".txt");//使创建的文件为txt格式
  21. }
  22. FILE* fp;//创建并打开以姓名命名的文件文档,并检查打开是否成功
  23. for (i = ;i < ;i++) {
  24. if (( fp = fopen(name1[i],"w+")) == NULL ) {
  25. printf("file can not open!");
  26. exit();
  27. }
  28. fprintf(fp, "%s", item);//第一行依次录入 学号 性别 班级 线代成绩
  29. if (fclose(fp)) {
  30. printf("file close error!");//关闭文件并检验
  31. exit();
  32. }
  33. }

任务二:

用文件写入每个人的学号,性别,班级,线代成绩

  1. printf(" ##################################################### \n");
  2. printf(" \n");
  3. printf(" 学生信息管理系统 \n");
  4. printf(" 欢迎您的使用! \n");
  5. printf(" 请按任意键继续 \n");
  6. printf(" \n");
  7. printf(" ***************************************************** \n");
  8. system("pause");
  9. system("cls");
  10. printf("请按:学号 性别 班级 线代成绩的顺序依次录入相关信息");
  11. for (i = ;i < ;i++) {
  12. printf("\n%s: ", s[i].name);
  13. scanf("%s %s %s %s", s[i].stu_ID, s[i].sex, s[i].class_, s[i].score);//按顺序依次录入学生信息
  14. if ((fp = fopen(name1[i], "a+")) == NULL) {
  15. printf("file open error!");
  16. exit();
  17. }
  18. fprintf(fp, "\n%s %s %s %s",s[i].stu_ID, s[i].sex, s[i].class_, s[i].score);
  19. fclose(fp);
  20. }
  21. printf("录入成功\n");
  22. system("pause");//使程序在此暂停
  23. system("cls");//清屏

任务三:

用文件读取相关信息,并将其放在数组中

  1. printf(" 下面请查看录入的学生成绩 \n");
  2. for (i = ;i < ;i++) {
  3. if ((fp = fopen(name1[i], "a+")) == NULL) {
  4. printf("file open error!");
  5. exit();
  6. }
  7. fscanf(fp, "%*[^\n]");//读取文件时跳过第一行
  8. fscanf(fp, "%s %s %s %s",a[i].stu_ID, a[i].sex, a[i].class_, a[i].score);//按顺序依次读取文件内容
  9. fclose(fp);
  10. }
  11. for (i = ;i < ;i++) {
  12. printf("%s: %s %s %s %s\n", s[i].name,a[i].stu_ID,a[i].sex,a[i].class_,a[i].score);//输出学生相关信息
  13. }
  14. return ;
  15.  
  16. }

任务四:

在网上查找并使用了一些system函数

system类函数:

system("cls"):清屏,适当使用使程序界面整洁。

system("color xy"):改变cmd窗口背景色与前景色,x对应前景色,y对应背景色;具体颜色代码如下:

0=黑色 1=蓝色 2=绿色 3=湖蓝色 4=红色 5=紫色 6=黄色 7=白色 8=灰色 9=淡蓝色 A=淡绿色 B=淡浅绿色 C=淡红色 D=淡紫色 E=淡黄色 F=亮白色

system("pause"):冻结屏幕,便于观察程序的执行结果;

system("date"):显示或设置日期。

system("mode con cols=x lines=y"):设置窗口高度宽度,x为高度,y为宽度。

system("title 标题");//设置cmd窗口标题

总结:

刚开始看到文件操作时,几乎都不知道怎么下手,后来靠看网课,查百度逐步掌握了一些文件操作。

1、学会了一些文件基本操作,如"w","a"等,最后一定要记得关闭文件。

2、学会了一些system命令,使得程序界面更美观、简洁。

3、通过这次作业,我感受到了自主学习的重要性,多学多练,才能提高水平。

c语言文件的更多相关文章

  1. c语言文件读写操作总结

    C语言文件读写操作总结 C语言文件操作 一.标准文件的读写 1.文件的打开 fopen() 文件的打开操作表示将给用户指定的文件在内存分配一个FILE结构区,并将该结构的指针返回给用户程序,以后用户程 ...

  2. go语言文件操作,这期资料比较详细( 欢迎加入go语言群: 218160862 )

    go语言文件操作,这期资料比较详细 欢迎加入go语言群: go语言深圳群 golang深圳 218160862 点击加入 文件操作 func Open(name string) (file *File ...

  3. C语言文件操作

    C语言文件操作,以下以基本的例子和说明来展开怎么通过C语言来进行文件操作. 操作文件,我们得需要知道什么?当然是路径和文件名. 首先我需要知道我操作的文件在哪里,叫什么名字.在C语言中还存在一个打开方 ...

  4. android多国语言文件夹文件汇总

    android多国语言文件夹文件汇总如下: 中文(中国):values-zh-rCN 中文(台湾):values-zh-rTW 中文(香港):values-zh-rHK 英语(美国):values-e ...

  5. 不可或缺 Windows Native (10) - C 语言: 文件

    [源码下载] 不可或缺 Windows Native (10) - C 语言: 文件 作者:webabcd 介绍不可或缺 Windows Native 之 C 语言 文件 示例cFile.h #ifn ...

  6. C语言---文件

    1. 需要了解的概念 包括:数据流.缓冲区.文件类型.文件存取方式 1.1 数据流: 指程序与数据的交互是以流的形式进行的.进行C语言文件的存取时,都会先进行“打开文件”操作,这个操作就是在打开数据流 ...

  7. CUBRID学习笔记 29 web管理中文语言文件 CUBRID教程

    网站的中文语言文件部分 http://files.cnblogs.com/files/wang2650/Messages.7z

  8. C 语言文件操作

    C 语言文件操作 1. 数据流:     程序与数据的交互以流的形式进行.fopen 即打开数据流,fclose 即刷新数据流.     所谓数据流,是一种抽象,表示这段数据像流一样,需要逐步接收,不 ...

  9. [转]C语言文件输入/输出ACM改进版(freopen函数)

    C语言文件输入/输出ACM改进版(freopen函数) 2009年5月27日 10:379,457 浏览数发表评论阅读评论   文章作者:姜南(Slyar) 文章来源:Slyar Home (www. ...

  10. C语言文件操作函数

    C语言文件操作函数大全 clearerr(清除文件流的错误旗标) 相关函数 feof表头文件 #include<stdio.h> 定义函数 void clearerr(FILE * str ...

随机推荐

  1. node-sass 埋坑记录

    node-sass 埋坑记录 背景 原有项目.环境: node:v8.16.2 npm:v6.4.1 node-sass::v4.8.0 Angular-CLI:v6.x 本机没有安装 Visual ...

  2. RU/RUR的安装

    RU/RUR的安装方法是仍然使用现有的Opatch技术来安装RU/RUR. 更多常见问题,请参考文档: Release Update and Release Update Revisions for ...

  3. packstack-ironic

    安装openstack Pike版本, 其它版本安装方法类似. centos7.6 packstack目前对NetworkManager 还不支持,我们修改下配置: systemctl disable ...

  4. Cocos2d-x游戏实例《忍者飞镖》之对象管理

    推荐移步至<忍者飞镖射幽灵>之对象管理阅读 配置环境:win7+Cocos2d-x.2.0.3+VS2012 目标读者:需了解游戏帧率以及回调函数的概念 一.引言 对具体游戏demo的分析 ...

  5. 将CocoStudio产生的UI文件导入到项目

    配置: Xcode 6.0 + CocoStudio 1.6 + Cocos2d-x 3.4 添加资源 将导出的资源文件放到 Resource 文件夹下. 头文件 #include "coc ...

  6. python中json与pickle的简要说明

    import json    ======> 注意:不同语言之间通用但不能传输对象类型 该模块中最重要的方法: 1.json.dump(‘python数据’,‘json文件’)   # 将pyt ...

  7. 获取IP的三种方法

    第一种 取本主机ip地址 public string GetLocalIp() { ///获取本地的IP地址 string AddressIP = string.Empty; foreach (IPA ...

  8. 13. Go 语言网络爬虫

    Go 语言网络爬虫 本章将完整地展示一个应用程序的设计.编写和简单试用的全过程,从而把前面讲到的所有 Go 知识贯穿起来.在这个过程中,加深对这些知识的记忆和理解,以及再次说明怎样把它们用到实处.由本 ...

  9. BZOJ3144/LG3227 「HNOI2013」切糕 最小割离散变量模型

    问题描述 BZOJ3144 LG3227 还想粘下样例 输入: 2 2 2 1 6 1 6 1 2 6 2 6 输出: 6 题解 关于离散变量模型,我不想再抄一遍,所以: 对于样例,可以建立出这样的图 ...

  10. Docker 零碎

    Delete none tag docker image: $ docker stop $(docker ps -a | grep "Exited" | awk '{print $ ...