从没有stdio.h的c中的文本中删除特定行

时间:2014-03-09 11:35:00

标签: c linux file-io

我在C大学为我的大学做了一个功课,在程序中我必须开发一个必须从文本文件中删除特定行的功能。我在发布之前搜索过,我找到了一些答案,但我们的老师告诉我们只能通过系统调用来访问文件(所以我不能使用像fopen这样的函数等只能打开读取等)而不是stdlib.h的函数和类型,不要使用临时文件,也不要使用数组暂时保存文件内容,然后将其放回主文件中。

我想要做的是,要求用户输入一个主题和一个日期,我将放入2个阵列。然后我将搜索一个文本文件,看看是否有这个主题的条目和确切的日期,如果存在,我想删除这一行。如果这一行是文本文件中的最后一行,那么我可以使用truncate函数使文件变小,但如果我必须删除的行是文本文件的第一行,我找不到实现它的方法或之间。

我真的很感激你的帮助。

1 个答案:

答案 0 :(得分:0)

以下是您需要的系统调用

然后设计一个算法来使用它们

几种可能性。

将整个文件读入内存。做生意。把它写回来。

或读取一行并将其写回新位置的同一文件