fgetc unter unix anders als unter windows ?



  • Servus folks,

    habe einen seltsamen Effekt den ich nicht verstehe... wenn ich unter Unix Windows terminierte Text-Dateien einlese ('\r\n'), kann ich mit fgetc schön die Newline und den Carriage Return erkennen... lese ich die gleiche Datei unter Windows ein, erkenne ich nur Newline ('\n') !?

    Den Carriage Return brauche ich aber dringends unter Windows, damit ich mit einer C-Routine sowohl Unix, Mac und Windows terminierte Text-Files einlesen kann... jemand eine Idee ?

    Danke, Winn



  • Musst du im binary mode öffnen. Denn \r\n ist unter windows eben nur \n 😉

    the joy and fun of textmode vs binarymode 🙂



  • Ich schnall ab 😮 und ich werkel hier schon seit zwei Tagen herum... und im Binarymode klappts auch mit dem '\r'... Vielen Dank Shade 👍



  • Winn schrieb:

    Ich schnall ab 😮 und ich werkel hier schon seit zwei Tagen herum... und im Binarymode klappts auch mit dem '\r'... Vielen Dank Shade 👍

    Das Lustige ist: normalerweise haben die Leute das Problem anders herum. Unter Windows klappt alles, aber unter Linux sind immer \r zuviel drin 😉

    Ach, sei froh dass du das nicht auch unter Mac getestet hast, da wären nämlich Plötzlich \n zuviel drin 😉 Weil dort ein Linebreak nur aus \r besteht.



  • Mac nutzt doch seit kurzem das gleiche Zeichen fürn Linebreak wie Linux, also \n.. Hab ich zumindest gehört 🙂



  • Hatte ich gar nicht erwähnt, aber die Routine soll unter Windoof, Linux und Mac OS X laufen 😉

    Und weil sich die Standard-Lib Coder sich nicht auf einen Standard einigen konnten, lese ich nun erstmal alles mit "fgetc" in den Speicher ein und separiere darin... positiver Nebeneffekt... die Geschichte ist schneller geworden 😃

    Und bevor ich nochmal zwei Tage meines Lebens verlieren, werde ich erstmal nach c-plusplus.net wandeln 👍

    Bis neulich, Winn


Anmelden zum Antworten