sunnytomy 发表于 2005-12-22 16:24

怎样删除指定文件中的某一行内容?

想把文件中的某一行内容改写,而且不影响其他行,发现fopen('文件','r+')后<BR>用fprintf改写,只是覆盖,如果覆盖的内容长度比文件中原有的内容短,则只能覆盖部分。<BR>想能把文件原来这一行内容删掉再重写,怎么实现呢?3x<BR>

sorry 发表于 2005-12-22 21:06

回复:(sunnytomy)怎样删除指定文件中的某一行内容?...

重写一个文件不行吗?

sunnytomy 发表于 2005-12-22 22:20

这个文件几千行,写不了的

glise 发表于 2005-12-23 09:03

回复:(sunnytomy)怎样删除指定文件中的某一行内容?...

加一个循环,用fscanf一行行读入,然后用fprintf写到另一个文件中去<BR>加一个判断,判断你要删除的行不写入不就行了吗?

huhust 发表于 2005-12-23 11:53

回复:(sunnytomy)怎样删除指定文件中的某一行内容?...

<P>一个笨办法,先用一长串空格把不需要的覆盖。<BR>只要加一条fprint语句</P>

sunnytomy 发表于 2005-12-23 12:02

长窜空格覆盖原来信息这个办法我试过了,出现一个很大的问题,比如文件前三行为:<BR>aaaaa<BR>bbbbbbbbbb<BR>cccccccccc<BR><BR>我要删去第二行,或者把新的内容覆盖到第二行。如果覆盖的内容(空格就是删除)长度比此行长,用fprint就会覆盖到第三行去,并且把第三行的内容提到了第二行。大家可以试试有没有这个问题。<BR>注意一点就是第二行后面是没有空格的,长度只有10个字符。<BR><BR>所以请教有没有一个修改第二行的好办法,又不影响到第三行内容的,不论长度如何变化
页: [1]
查看完整版本: 怎样删除指定文件中的某一行内容?