C系统调用,删除文件

时间:2013-02-12 03:30:04

标签: c system

现在,当我一遍又一遍地使用write系统调用时,它只是附加到一个文件,让我们调用file.txt,如果我在C中调用sys调用write,在file.txt上,它会不断地。有一种情况,给定相同的文件,我想从中删除所有内容,并只添加一行。这样做我怎么样?我不想创建一个新文件,我想在同一个文件中工作。

谢谢!

4 个答案:

答案 0 :(得分:1)

行为取决于文件的打开模式:听起来你当前在append模式下打开了;你需要打开常规写作才能获得你想要的行为。

答案 1 :(得分:1)

O_TRUNC传递给open()或将"w""wb""w+""wb+""w+b"传递给{{1} }}

答案 2 :(得分:1)

只需调用truncateftruncate即可将文件剪切为零字节。然后写下你想要的行。您无需关闭或重新打开文件,您可以使用现有的句柄。

答案 3 :(得分:0)

当你调用fopen()时,你需要传递适当的模式:read,write,append等。这是对fopen()的好评。