10 Stimmen

"Fehler beim Löschen der Datei: Berechtigung verweigert" mit remove in C++

Wenn ich mein C++-Programm kompiliere und ausführe, wird eine Datei namens example.txt (unten) gelöscht

#include <stdio.h>

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

Das sieht dann so aus...

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

Ich habe alle Beschränkungen für die Datei aufgehoben, so dass jedermann uneingeschränkten Zugriff hat (einschließlich meines Programms).

Gibt es Lösungen?

EDIT

Wenn ich eintippe del example.txt in der Eingabeaufforderung funktioniert es.

Seltsam...

0voto

Teja Punkte 274

Ich denke std::remove() nimmt den Pfad als Parameter. Wir müssen also den gesamten Pfad als Parameter angeben für remove Funktion.

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

0voto

STF Punkte 1447

Vielleicht haben Sie keine Berechtigung, Dateien an dieser Stelle von Ihrem Visual Studio Code aus zu ändern.

Ich hatte dieses Problem und änderte den Speicherort der Datei, woraufhin ich keine Probleme mehr hatte.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X