实用算法实验1碰到的bug和想法

已有 703 次阅读2012-9-24 12:55 |个人分类:C语言| 算法

bug是feof(File *)
   读取文件中的学生信息时,会每行每行的读,然后存到数组或者链表中,会用到while(!eof(fin))来判断文件是否结束读取,这个函数碰到结尾符EOF就会结束,但是在使用链表存储的时候,会出现多打印出一行部分数据的情况,比如学生信息文件最后一行是SA12226255,张三,21最后打出来会发现多打印出了一部分SA122,张三,而且信息不全,调试也查不出上面情况,查了资料说是eof这个函数的问题,好吧,最后解决问题用了while(fgets(buffer,255,fin))直接获取额,这时就不会出错了。
下面是一些想法总结:
1.  使用头结点的好处:这样在插入和删除的时候,就不用判断删除的是不是第一个结点,插入的位置是不是1了。
2.  在读入文本文件数据的时候,每行数据内容会是文本+CR(回车)+LF(换行),这样每次用buffer数组读取每行的时候strlen(buffer)会比显示的内容多出2个字节。
3.释放一个结构体指针的内容时,不仅先要释放成员指针所指向的内存,还要释放结构体本身指针。
4,当出现某块内存不能写的提示时,估计是访问地址出错.


仅供参考,欢迎讨论!

路过

鸡蛋

鲜花

握手

雷人

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 立即注册

返回顶部