"删除文件时出错:权限被拒绝",在C++中删除

Mar*_*lor 7 c++ windows file-io

当我编译并运行我的C++程序时删除一个名为example.txt的文件(如下)

#include <stdio.h>

int main ()
{
  if( remove( "example.txt" ) != 0 )
    perror( "Error deleting file" );
  else
    puts( "File successfully deleted" );
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

就像这样......

cd c:\Users\Mark\Desktop  
C:\Users\Mark\Desktop>app.exe  
Error deleting file: Permission denied  
Run Code Online (Sandbox Code Playgroud)

我取消了对文件的所有限制,并且可以完全访问任何人(应该包括我的程序).

有解决方案吗

编辑

当我输入del example.txt命令提示符时,它可以工作.

奇怪的...

Tej*_*eja 0

我想std::remove()将路径作为参数。所以我们需要指定整个路径作为函数的参数remove

例如:remove("home/xxx/example.txt");