fopen weigert sich Datei zu öffnen

Gast #891051
Lesenswert?

Hallo zusammen,
ich hoffe ihr habt mal wieder nen guten Tip für mich...

Ich würde eine Datei gernen mit fopen öffnen, bekomme aber immer "NULL" 
als Rückgabewert, kann mir jemand einen Tip geben.-
Hier ist ein Teil vom Quellcode.
1
  if((fp = fopen( "C:\test.txt", "r")) == NULL);
2
    {
3
      // Fehlerroutine
4
      fprintf (stderr,"Dateikonnte nicht geöffnet werden");
5
      return 1;
6
    }

die Datei test.txt befindet sich auf c

vielen Dnka schon mal...
Gast #891130
Lesenswert?

Karsten wrote:
> @  Sven Pauli
> nein finde ich nicht,
> weil ich ja in dem Sinne keine Fehlermeldung bekomme,
> das Prog läuft, aber fopen liefert NULL zurück...
> oder habe ich dich jetzt falsch verstanden?

Doch. NULL heißt, die Datei konnte nicht geöffnet werden. In errno 
steht dann aber evtl. auch noch drinne, WARUM sie nicht geöffnet 
werden konnte (Zugriffsrechte, Laufwerk, Netzwerk...)

Edit sagt, für open und implizit damit für fopen gibbet z.B. 
folgende *errno*-Werte:

EACCES EFAULT EISDIR ELOOP EMFILE ENAMETOOLONG ENFILE ENODEV ENXIO 
OVERFLOW EPERM EROFS ETXTBSY EWOULDBLOCK
Gast #891169
Lesenswert?

> @  Sven Pauli
> nein finde ich nicht,
> weil ich ja in dem Sinne keine Fehlermeldung bekomme,
> das Prog läuft, aber fopen liefert NULL zurück...
> oder habe ich dich jetzt falsch verstanden?

Ja. Der Null-Pointer zeigt nur an, dass etwas schief gelaufen ist.
Der eigentliche Fehlercode steht in errno. Du kannst dir diesen
Fehlercode mit
1
  perror("fopen");

auch im Klartext umwandeln lassen. Dabei werden bspw. folgende
Meldungen ausgegeben:
1
fopen: No such file or directory
2
fopen: Permission denied

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren