当我编译并运行我的C ++程序时删除一个名为example.txt(下面)的文件
#include <stdio.h>
int main ()
{
if( remove( "example.txt" ) != 0 )
perror( "Error deleting file" );
else
puts( "File successfully deleted" );
return 0;
}
它就像这样......
cd c:\Users\Mark\Desktop
C:\Users\Mark\Desktop>app.exe
Error deleting file: Permission denied
我取消了对该文件的所有限制,并且可以完全访问任何人(应该包括我的程序)。
任何解决方案?
编辑
当我在命令提示符下键入del example.txt
时,它可以正常工作。
...怪异
答案 0 :(得分:3)
您正在提供Cplusplus中列出的完全相同的示例,因此,如果该程序不起作用,我认为这是一个O.S相关问题。
如果您使用的是Windows 2k或更高版本,请尝试the DeleteFile api并查看是否发生了同样的错误。
我无法在问题上添加评论,所以,对不起,如果这不是一个正确的答案。
确保您没有打开文件。尝试从程序中创建一个新文件并将其删除。
答案 1 :(得分:0)
我猜std::remove()
将路径作为参数。因此,我们需要将整个路径指定为remove
函数的参数。
例如:remove("home/xxx/example.txt");
答案 2 :(得分:0)
也许您无权从Visual Studio代码更改此处的文件。
我遇到了这个问题,我改变了文件位置,而不是没有问题。