我正在尝试这个DeleteFile()
功能,我在下面编写了这个程序.
#include#include #include using namespace std; int main(){ FILE * filetxt; // creat a file filetxt = fopen("C:\\Users\\Thomas\\Desktop\\filetxt.txt", "w"); // delete the file if (DeleteFile("\\\\.\\C:\\Users\\Thomas\\Desktop\\filetxt.txt") != 0){ cout<<"success"; }else{ cout<<"fail"; } cin; }
但该计划没有按照预期的那样发挥作用.创建的文件未删除.
输出是:
fail
Mr.C64.. 10
您打开文件fopen
并DeleteFile
在关闭之前调用fclose
.
您可以从DeleteFile
MSDN文档中读取:
如果应用程序尝试删除具有为正常I/O打开的其他句柄的文件或作为内存映射文件(在打开其他句柄时必须指定FILE_SHARE_DELETE),则DeleteFile函数将失败.
还要注意的是,如果失败,你可以调用GetLastError
后DeleteFile
与有关失败的原因的详细信息,以得到一个错误代码.
您打开文件fopen
并DeleteFile
在关闭之前调用fclose
.
您可以从DeleteFile
MSDN文档中读取:
如果应用程序尝试删除具有为正常I/O打开的其他句柄的文件或作为内存映射文件(在打开其他句柄时必须指定FILE_SHARE_DELETE),则DeleteFile函数将失败.
还要注意的是,如果失败,你可以调用GetLastError
后DeleteFile
与有关失败的原因的详细信息,以得到一个错误代码.