c语言学生管理系统,保存和读取文件模块有错误,写在txt中的正常,但是读出来就有问题了

日期:2016-06-20 19:47:50 人气:1

c语言学生管理系统,保存和读取文件模块有错误,写在txt中的正常,但是读出来就有问题了

你的open()函数有几个问题,其中1和2是你的问题的主要原因。 1. 作为while循环判断条件的fgetc()函数从文件流读取了一个字符,移动了文件流的读取指针,导致文件数据并没有全部由fscanf()函数读取。 2. 没有判断fscanf()函数的返回值,如果出现读取失败、读不全8项数据等情况,仍然认为数据是有效的。 3. 如果打开文件失败,一开始分配的内存没有释放。 4. 如果打开文件成功但文件为空(while循环体一次都没有执行),一开始分配的内存释放了,但head还是指向这个已经释放的内存空间
    A+
热门评论