tutorials.de Buch-Aktion 05/2012
Like Tree1Danke
  • 1 Beitrag von sheel
ERLEDIGT
JA
ANTWORTEN
2
ZUGRIFFE
410
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von Jennesta
    Jennesta Jennesta ist offline Mitglied Gold
    Registriert seit
    Sep 2007
    Ort
    Aachen
    Beiträge
    215
    Hi,
    es handelt sich hier mehr um ein Verständnisproblem, als ein Programmiertechnisches.
    Ich habe ein bisschen damit gespielt mir einen Hexdump von Datein ausgeben zu lassen.

    Dabei habe ich erst die Datei im default-mode geöffnet (ios_base::in). Hier habe ich festgestellt, dass obwohl ich vorher die Anzahl Zeichen der Datei mit tellg() ermittelt habe nicht mit get() hinkomme. Der Unterschied lag in der Anzahl der Zeilenumbrüche.

    Erst als ich durch Zufall auf den Binary-mode gestossen bin lieferte mir get() auch jedes Zeichen der Datei. Scheinbar wurde nämlich nie das CR gelesen.
    Da frage ich mich nun, wieso zählt tellg() trotz default-mode die CRs mit obwohl get() dies nicht tut.

    Grüße Jennesta
     
    Was soll daran kompliziert sein? Es muss doch nur ein Rad bewegt werden, man kann aufsteigen, es kommt die Matschhütte und durch den Regenbogen gelangst du zum hungrigen Affen, der Affenschwanz wird gezogen und bums kommst du zum Paradispark.

  2. #2
    Avatar von sheel
    sheel sheel ist offline Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    4.501
    Hi

    das ist unter Windows generell so.
    Bei "Text"-Dateien wird dem Zeilenwechsel \n beim Schreiben znoch ein \r dazugeschrieben,
    beim Einlesen werden beide zusammen dann wieder zu \n
    Im Binärmodus passiert das nicht.

    Und tellg geht nicht die ganze Datei durch und prüft auf Zeilenwechsel,
    sondern gibt einfach die Byteanzahl zurück.

    Gruß
    Jennesta bedankt 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, ...?

  3. #3
    Avatar von Jennesta
    Jennesta Jennesta ist offline Mitglied Gold
    Registriert seit
    Sep 2007
    Ort
    Aachen
    Beiträge
    215
    Ok danke für die Erklärung.
    Mal sehen wie man diese Erkenntnis bei der Linux und Windows-Kommunikation brauchen kann/nutzen muss.
     
    Was soll daran kompliziert sein? Es muss doch nur ein Rad bewegt werden, man kann aufsteigen, es kommt die Matschhütte und durch den Regenbogen gelangst du zum hungrigen Affen, der Affenschwanz wird gezogen und bums kommst du zum Paradispark.

Ähnliche Themen

  1. Unterschiedliche Ergebnisse im IE und FF
    Von mtk-flo im Forum Javascript & Ajax
    Antworten: 2
    Letzter Beitrag: 15.04.09, 12:33
  2. Antworten: 10
    Letzter Beitrag: 13.01.09, 09:59
  3. Tabellenabfrage liefert keine Ergebnisse
    Von sufijen im Forum Relationale Datenbanksysteme
    Antworten: 2
    Letzter Beitrag: 02.12.07, 12:42
  4. mysql query liefert falsche Ergebnisse
    Von AgentSandsLady im Forum PHP
    Antworten: 8
    Letzter Beitrag: 15.07.07, 19:50
  5. Unterschiedliche Ergebnisse mit at und cron
    Von vop im Forum Linux & Unix
    Antworten: 2
    Letzter Beitrag: 30.08.05, 17:50