如果文件存在于C中,请打开哪个选项来删除该文件

如果文件存在于C中,请打开哪个选项来删除该文件,c,C,我刚刚使用C中的open函数。现在,要打开名为file的文件,我将执行以下操作: open("file", O_CREAT|O_RDWR|O_APPEND, S_IRUSR | S_IWUSR) 如果文件不存在,它会创建文件,并授予读取文件和在文件末尾写入的权利 但问题是,如果文件已经存在,它不会删除其内容。我应该在这里使用什么选项?O\u APPEND表示如果文件存在,您将附加到该文件。您应该改用O_TRUNC: open(“文件”,O|u创建| O|u RDWR |

我刚刚使用C中的
open
函数。现在,要打开名为file的文件,我将执行以下操作:

open("file",  O_CREAT|O_RDWR|O_APPEND, S_IRUSR | S_IWUSR)
如果文件不存在,它会创建文件,并授予读取文件和在文件末尾写入的权利


但问题是,如果文件已经存在,它不会删除其内容。我应该在这里使用什么选项?

O\u APPEND
表示如果文件存在,您将附加到该文件。您应该改用
O_TRUNC

open(“文件”,O|u创建| O|u RDWR | O|u TRUNC,S|u IRUSR | S|IWUSR)
/*这里------------------^*/

O_APPEND
表示如果文件存在,您将追加到该文件。您应该改用
O_TRUNC

open(“文件”,O|u创建| O|u RDWR | O|u TRUNC,S|u IRUSR | S|IWUSR)
/*这里------------------^*/

你要求
O_APPEND
,意思是“如果文件存在,请添加到文件末尾”,所以你可能不想这样做?你要求
O_APPEND
,意思是“如果文件存在,请添加到文件末尾”,所以你可能不想这样做?这就是为什么我尝试O_TRUNC时它不起作用,这是因为O_追加。谢谢你以后的参考,O_-APPEND,O_-TRUNC和O_-EXCL都是互斥的。这就是为什么当我尝试O_-TRUNC时它不起作用,这是因为O_-APPEND。感谢您以后的参考,O_APPEND、O_TRUNC和O_EXCL都是互斥的。