我正在尝试DeleteFile()函数,并在下面编写了程序。

#include <iostream>
#include <fstream>
#include <windows.h>
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

最佳答案

您使用fopen打开了文件,并在使用DeleteFile关闭文件之前调用了fclose

正如您从 DeleteFile MSDN documentation可以看到的:



还要注意,在失败时,您可以在GetLastError之后调用DeleteFile以获得包含有关失败原因的更多信息的错误代码。

关于c++ - DeleteFile()不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41878839/

10-12 16:13