2010-08-23 22 views
6

Quando compilo ed eseguire il mio programma C++ che elimina un file chiamato example.txt (sotto)"Errore di file cancellando: Permesso negato" con rimuovere in C++

#include <stdio.h> 

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

esce così ...

cd c:\Users\Mark\Desktop 
C:\Users\Mark\Desktop>app.exe 
Error deleting file: Permission denied 

Ho rimosso tutte le restrizioni sul file e non c'è accesso completo a nessuno (che dovrebbe includere il mio programma).

Qualche soluzione?

EDIT

Quando digito in del example.txt su Prompt dei comandi funziona.

Strano ...

+0

Bene, ho una scorciatoia che apre un file batch che esegue il programma Quindi sì ... –

+1

Qual è il messaggio di errore? perror dovrebbe darti una stringa di errore. Non c'è niente dopo la tua frase "esce come questo". Puoi cancellare quel file in una riga di comando? – EboMike

+0

Cosa succede quando invece di 'app.exe' digiti' del esempio.txt' nel prompt dei comandi? –

risposta

0

Credo std::remove() prende il percorso come parametro. Pertanto, è necessario specificare l'intero percorso come parametro per la funzione remove.

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

+1

Ho provato e non mi ha aiutato. – STF

3

Si stanno dando lo stesso esempio esatto elencati in Cplusplus così, se il programma non funziona, penso che sia un problema di correlati O.S.

Se si utilizza Windows 2k o versione successiva, provare con the DeleteFile api e verificare se si verifica lo stesso errore.

Non riesco ad aggiungere commenti alla domanda, quindi, scusa se questa non è una risposta adeguata.

Assicurarsi che il file non sia aperto. Prova a creare un nuovo file dal tuo programma ed eliminarlo.

0

Forse non si dispone dell'autorizzazione per modificare i file in questo luogo dal codice dello studio visivo.

Ho avuto questo problema e ho cambiato il percorso del file e non ho avuto più problemi.

Problemi correlati