c - 从文本文件中删除一行?

标签 c file file-io

我正在处理一个文本文件,其中包含我的程序控制下的进程列表以及相关数据。

在某个时刻,其中一个进程将完成,因此需要从文件中删除(因为它不再受控制)。

这是文件内容的示例(其中“随机”添加了条目):

PID=25729 IDLE=0.200000 BUSY=0.300000 USER=-10.000000
PID=26416 IDLE=0.100000 BUSY=0.800000 USER=-20.000000
PID=26522 IDLE=0.400000 BUSY=0.700000 USER=-30.000000

例如,如果我想删除 PID=26416.... 的行,我该如何做到这一点,而不需要重新写入文件?

我可以使用外部unix命令,但是我对它们不是很熟悉,所以如果这是你的建议,请举个例子。

谢谢!

最佳答案

要么将文件的内容保留在临时内存中,然后重写该文件。或者您可以为每个 PID 建立一个文件,其中包含相关信息。然后,当该文件不再运行时,您只需将其删除即可。或者您可以使用数据库来代替。

关于c - 从文本文件中删除一行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5213563/

相关文章:

c - 分段核心转储

c++ - gtk 最小尺寸

iOS:如何备份项目?

c - 等待文件可用于 Win32 读取

Java:获取项目的绝对路径

c - 循环崩溃中的 OpenMP 错误

c - 在Windows 64位上用C打开带有 "gnu open"的大文件

java - 如何更新.txt文件java中的内容

linux - 从 tar 归档 Linux 中提取前 10 个最大的文件

c++ - 有没有办法只使用 C++ 找到最旧的文件