C系统调用,删除文件
现在,当我一次又一次地使用write系统调用时,它只是附加到一个文件lets call file.txt。如果我在C中调用sys call write,在file.txt上,它只是不断地。在某种情况下,给定同一个文件,我想删除其中的所有内容,只添加一行。我该怎么做呢?我不想创建新文件,我想在同一个文件中工作C系统调用,删除文件,c,system,C,System,现在,当我一次又一次地使用write系统调用时,它只是附加到一个文件lets call file.txt。如果我在C中调用sys call write,在file.txt上,它只是不断地。在某种情况下,给定同一个文件,我想删除其中的所有内容,只添加一行。我该怎么做呢?我不想创建新文件,我想在同一个文件中工作 谢谢 该行为取决于文件的打开模式:听起来您当前是以附加模式打开的;您需要以常规写入方式打开,才能获得所需的行为。调用fopen时,您需要将其传递到适当的模式:读取、写入、附加等。下面是对的一
谢谢 该行为取决于文件的打开模式:听起来您当前是以附加模式打开的;您需要以常规写入方式打开,才能获得所需的行为。调用fopen时,您需要将其传递到适当的模式:读取、写入、附加等。下面是对的一个很好的回顾。传递O_TRUNC以打开文件,或者将w、wb、w+、wb+或w+b传递到fopen。只需调用truncate或ftruncate以将文件剪切到零字节即可。然后写下你想要的行。您不需要关闭或重新打开文件,您可以使用现有的句柄。在此处发布之前,您应该对正在使用的功能进行基础研究。那么,我不是太懒了,不想看手册页,甚至不想用谷歌搜索函数名吗,帮帮我。com这个问题需要代码。请通读,以避免问题被否决。所以写下它将严格覆盖其内容,对吗?假设文件已打开,我将不得不再次执行打开命令,并将truncate传递给它?不,打电话给ftruncate。