当前位置: 技术问答>linux和unix
Linux这么奇怪?
来源: 互联网 发布时间:2015-03-22
本文导语: 一文件内容如下: [testfile] 45 = 1 36 = 23 用linux写一个小的c程序只改变该文件的第二行数据,如45 = 234 则第三行数据变成了 = 23 真奇怪,是吧。 | 很容易理解啊,文件存储是每一行一个换...
一文件内容如下:
[testfile]
45 = 1
36 = 23
用linux写一个小的c程序只改变该文件的第二行数据,如45 = 234
则第三行数据变成了 = 23
真奇怪,是吧。
[testfile]
45 = 1
36 = 23
用linux写一个小的c程序只改变该文件的第二行数据,如45 = 234
则第三行数据变成了 = 23
真奇怪,是吧。
|
很容易理解啊,文件存储是每一行一个换行符,后面紧跟着是下一行数据,而不是你在编辑器里看到的那样可以往后延伸而不覆盖下一行。
|
果然是程序有问题.
你只是查找并写第二行,但没有保存第二行后面的数据.
你只是查找并写第二行,但没有保存第二行后面的数据.
|
我觉得你的程序中一可以使用结构二用个INT记录是第几行三用fwrite重写数据试试
|
我猜他打开文件,直接写,所以内容覆盖了,234比1多两个字符,正好覆盖了36。
|
你的代码有问题,
逻辑先不要太多,你试验一下最简单的fputs一个文件看看。
逻辑先不要太多,你试验一下最简单的fputs一个文件看看。
|
数据溢出
|
可否把代码贴出来参祥
|
估计还是你的代码有问题.
|
代码错了呗,呵呵
|
把原程序写出来。