fopen() gibt einen NULL-Zeiger, aber die Datei definitiv vorhanden ist

Den code habe ich wie folgt:

FILE *txt_file = fopen("data.txt", "r");
if (txt_file == NULL) {
    perror("Can't open file");
} 

Die Fehlermeldung zurückgegeben wird:

Kann nicht geöffnet werden Datei: Keine solche Datei oder das Verzeichnis

In der Datei 'data.txt" auf jeden Fall existiert im Arbeitsverzeichnis (es existiert in dem Verzeichnis, das enthält meine .c und .h-Dateien), also warum ist fopen() Rückgabe eines NULL-pointer?

sind Sie die Ausführung von der Kommandozeile oder aus einer IDE? Wenn IDE, sind Sie sicher, dass das Programm das Arbeitsverzeichnis auf das Verzeichnis gesetzt, enthält die Datenbank?
hinzufügen Sie können die Ausgabe von ls -Fal für das Verzeichnis, in Frage?
du vielleicht nicht die Berechtigung haben, um es zu öffnen. sind Sie auf linux?
Können Sie fügen Sie den gesamten code?
Sie können das aktuelle Verzeichnis mit dem _getcwd () - Funktion, verwenden, zum Debuggen und lernen Sie das Arbeitsverzeichnis von Visual Studio läuft Ihr Programm.

InformationsquelleAutor Barjavel | 2011-07-13

Schreibe einen Kommentar