Like Tree5Danke
  • 1 Beitrag von Padawan
  • 2 Beitrag von sheel
  • 1 Beitrag von ibafluss
  • 1 Beitrag von deepthroat
ERLEDIGT
JA
ANTWORTEN
6
ZUGRIFFE
759
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
  1. #1
    neuesich ist offline Mitglied Bronze
    Registriert seit
    Apr 2012
    Beiträge
    32
    Hallo,

    Ich habe mich gefragt, ob es in C mit "Hausmitteln" möglich ist bestimmte Fehlerfälle beim Öffnen/Lesen/Schreiben von Dateien zu unterscheiden.
    Ich meine so etwas wie:

    1) Öffnen: Datei nicht vorhanden/Keine (Zugriffs-)Rechte
    2) Lesen: Keine (Lese-)Rechte/ Wird von anderen Prozess genutzt
    3) Schreiben: Datei nicht (mehr) vorhanden (Netzwerklaufwerk/USB-Verbindung unterbrochen etc). / Keine (Schreib-)Rechte bzw. schreibgeschützt / Kein Speicherplatz mehr zur Verfügung / Speicherpfad nicht mehr vorhanden

    usw usw.

    z.B. Gibt fopen (so weit ich weiß) beim fehlgeschlagenen Öffnen einer Datei nur einen Pointer auf NULL zurück, oder gibt es andere Möglichkeiten?

    Ich bedanke mich im Voraus!
    Lg
     

  2. #2
    Padawan ist offline Mitglied Gold
    Registriert seit
    Mar 2011
    Beiträge
    110
    Hi neusesich,

    vllt hilft dir diese Seite http://c-buch.sommergut.de/Kapitel11...-Dateien.shtml

    Lg Padawan
    neuesich bedankt sich. 

  3. #3
    neuesich ist offline Mitglied Bronze
    Registriert seit
    Apr 2012
    Beiträge
    32
    Danke für den Tipp, aber so weit ich das sehen kann wird nur unterschieden zwischen geglücktem Öffnen und fehlgeschlagenem Öffnen.

    Code :
    1
    
    exit(EXIT_FAILURE);
    hilft mir nicht weiter. Wird zwar nicht auf der Seite erklärt, aber wenn ich das richtig gegoogelt habe, dann schließt das ja das komplette Programm (was ich nicht beabsichtige).

    Der letzte Teil der Seite ist interessant. freopen werde ich wohl nicht brauchen, aber anscheinend sind auftretende Fehler im Stream stderr hinterlegt. Wie kann ich am besten darauf zugreifen? Die Ausgabe von stderr zeigt sicherlich nur einen englischen Text, oder? Ist es möglich eine Art Fehlercode zu erhalten?

    lg
     

  4. #4
    Avatar von sheel
    sheel ist gerade online Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    6.727
    Hi

    errno liefert eine Fehlernummer.
    Was die bedeutet, zB. hier nachschaubar:
    http://www.ioplex.com/~miallen/errcmp.html

    Und ja, exit beendet das Programm.
    Padawan und neuesich bedanken sich. 
    Netiquette (vA §15) und Nutzungsregeln (vA §4.8) einhalten! Programmcode in Codetags/Codeboxen.
    Sehr gute Beiträge bitte Bewerten (Stern darunter oder "Danke").
    "Funktioniert nicht" ist zu ungenau! Code, Fehlermeldungen, Verhalten des Programms, ...?

  5. #5
    ibafluss ist offline Mitglied Gold
    Registriert seit
    Feb 2011
    Beiträge
    240
    Und stderr gibt jetzt nicht automatisch Fehlermeldungen aus, das ist dasselbe wie stdout, nur ist es für Fehlermeldungen gedacht, die du als Programmierer ausgeben möchtest. Automatisch vom System bekommst du keine Fehlerausgabe. Für solche Fälle gibt es, wie von sheel schon gesagt, errno.
    Lg
    neuesich bedankt sich. 

  6. #6
    deepthroat ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jun 2005
    Beiträge
    8.731
    Hi.

    Und einen entsprechenden Fehlertext kannst du mit perror ausgeben lassen. Oder du nutzt strerror um die Fehlermeldung in einen String zu kopieren.

    Gruß
    neuesich bedankt sich. 
    If at first you don't succeed, try again. Then quit. No use being a damn fool about it.

  7. #7
    neuesich ist offline Mitglied Bronze
    Registriert seit
    Apr 2012
    Beiträge
    32
    perror war genau das was ich gesucht habe! danke für's bessere verständnis
     

Ähnliche Themen

  1. Dll lesen und schreiben
    Von vbänfänger im Forum Visual Basic 6.0
    Antworten: 6
    Letzter Beitrag: 20.08.09, 13:29
  2. .txt lesen/schreiben
    Von shader09 im Forum C/C++
    Antworten: 18
    Letzter Beitrag: 16.10.07, 07:32
  3. txt lesen/schreiben
    Von shader09 im Forum C/C++
    Antworten: 0
    Letzter Beitrag: 11.10.07, 11:13
  4. Antworten: 1
    Letzter Beitrag: 03.12.06, 15:39
  5. Fehlercodes
    Von Moartel im Forum Internet, DSL & Flatrate
    Antworten: 7
    Letzter Beitrag: 02.10.01, 18:47

Stichworte