我想删除一文本文件的某些行,也就是行删除

jourmen IBM 架构师  2003-12-08 10:04:13
我想删除一文本文件的某些行,也就是行删除
有这样的库函数可用吗?
或者大家给个思路,谢谢!
...全文
10 点赞 收藏 6
写回复
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
短歌如风 2003-12-08
#include <fstream>
#include <string>

...
std::fstream file(filename);
std::string line;
while(getline(file, line))
if (line 不是要删除的行)
file << line << "\n";
回复
jourmen 2003-12-08
文件还被别的程序所用呢
如果是大家上面所说的思路是不可以的
别的程序的文件指针就丢了

还有别的四路吗
回复
njuhuangmy 2003-12-08
直接打开文件
读入全部内容
关闭文件

写打开文件
写入修改后的内容
关闭
回复
xingxing 2003-12-08
int dd_row(int rownum)
{
//找到行
//把当前行的字符删除直到行结束
return SUCCESS
}
回复
hanyixin 2003-12-08

如果要删除文件中间的某一行,只能把原文件全部读一次,没有办法直接从中间删除的。

回复
liuleilover 2003-12-08
要保证对此文件的操作是互斥的。
创建一个临时文件,把要保留的行写入,将原文件清空,把临时文件内容写入原文件即可,删掉临时文件。
回复
发动态
发帖子
C语言
创建于2007-09-28

6.3w+

社区成员

C语言相关问题讨论
申请成为版主
社区公告
暂无公告