C语言入门:学生成绩管理程序的完善(1):用文件保存数据

C语言入门:学生成绩管理程序的完善(1):用文件保存数据

编码文章call10242025-09-17 20:52:332A+A-

“写个成绩小工具,重启电脑数据全没了?

”——别笑,隔壁实验室的师弟昨晚刚哭完。

救急办法其实就三行代码:把数组塞进文件,下次开机再读回来。

听起来像把作业本塞进抽屉,但抽屉有锁,文件有模式,选错一次,全班成绩变空白。

文本还是二进制?

老师上课总说“文本好调试”,可一到 2000 条记录,fprintf 慢得像 2G网。

换成 fwrite,一秒写完,文件体积直接砍半。

别被“二进制看不懂”吓到,用十六进制编辑器瞄一眼,学号、姓名、分数排排站,比CSV 还整齐。

打开模式踩坑现场

“w” 是清空重写,适合第一次建档;想偷偷补录一条,得用“a”,否则前功尽弃。

读的时候老老实实 “rb”,文件不存在直接 return0,别让程序当场崩溃。

有人把文件放桌面,路径里带空格又不加双引号,fopen 直接NULL,报错找不到文件——其实是路径被空格劈成两半。

实战套路

1.结构体尾巴加一字节校验和,读出来先对数,防止熊孩子用记事本手抖改分。

2. 写文件时先写 count,再写数组,读的时候先读 count,再一次性fread,省得循环 malloc。

3. 程序退出前 fflush + fclose 双保险,断电也稳。

笔记本电池说没就没,别信它。

彩蛋:把文件名改成当天日期,每天自动归档,月底直接发辅导员,再也不用Ctrl+C、Ctrl+V。

点击这里复制本文地址 以上内容由文彬编程网整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!
qrcode

文彬编程网 © All Rights Reserved.  蜀ICP备2024111239号-4