2010-08-23 93 views
6

當我編譯和運行我的C++程序,刪除一個文件名爲example.txt中(如下圖)「錯誤刪除文件:權限被拒絕」與取消C++

#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

嗯,我有一個快捷方式打開一個運行程序的批處理文件所以是... – 2010-08-23 17:19:14

+1

什麼是錯誤信息? perror應該給你一個錯誤字符串。在「像這樣出現」這樣的行後,沒有什麼是正確的。你可以在命令行中刪除該文件嗎? – EboMike 2010-08-23 17:21:23

+0

當在命令提示符下鍵入'del example.txt'而不是'app.exe'時會發生什麼? – 2010-08-23 17:21:29

回答

0

我猜std::remove()將路徑作爲參數。所以我們需要指定整個路徑作爲remove函數的參數。

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

+1

我試過了,它沒有幫助我。 – STF 2016-01-06 09:26:21

3

你給在Cplusplus列出的例子完全一樣的話,如果程序不能正常工作,我認爲這是一個O.S相關問題。

如果您使用的是Windows 2k或更高版本,請嘗試the DeleteFile api並查看是否發生相同的錯誤。

我不能添加評論的問題,所以,如果這不是一個正確的答案對不起。

確保您沒有打開文件。嘗試從程序創建一個新文件並刪除它。

0

也許你沒有權限從視覺工作室代碼更改此處的文件。

我有這個問題,我改變了文件的位置,比我沒有更多的問題。