Visual c++ 如何清除文件';什么内容不关闭它?

Visual c++ 如何清除文件';什么内容不关闭它?,visual-c++,Visual C++,我需要打开一个为_SHARE_EXCLUSIVE的文件,以防止其他线程或进程读取旧的脏数据。因此,我需要在打开内容之后和关闭内容之前清除内容。代码可能如下所示: HFILE file = OpenFile(path, buff, OF_SHARE_EXCLUSIVE); ReadFile(file, ...); // read all content of file ClearFileContent(file); // here I need such a function to clear

我需要打开一个
为_SHARE_EXCLUSIVE
的文件,以防止其他线程或进程读取旧的脏数据。因此,我需要在打开内容之后和关闭内容之前清除内容。代码可能如下所示:

HFILE file = OpenFile(path, buff, OF_SHARE_EXCLUSIVE);
ReadFile(file, ...);  // read all content of file
ClearFileContent(file);  // here I need such a function to clear content of file
CloseHandle(file);  // close file handle

我已经阅读了,但没有找到我想要的内容,所以在关闭文件之前应该使用哪个API清除文件内容?

SetFilePointer()查找文件的开头,SetEndOfFile()截断文件。你真的想留下空文件吗?删除文件通常是表示“没有数据”的更好方法。您必须处理一些事情。@HansPassant打开文件时,我可以删除文件吗?我只希望只有一个线程或进程可以读取数据,而其他线程或进程什么也不读取。@HansPassant哦,我明白了。我可以锁定一个空文件并对另一个文件进行操作。您可以在文件打开时通过调用
SetFileInformationByHandle
FileDispositionInfo
删除该文件。文件的所有句柄关闭后,该文件将被删除。如果您只有一个句柄,那么当您调用
CloseHandle
时,它将被删除。