Problem beim Datei auslesen



  • @bassmaster sagte in Problem beim Datei auslesen:

    Mit unsigned char* funktioniert es jetzt.

    Darauf wollte ich nicht hinaus. Es ist nur so, daß fread() intern den gegebenen Buffer als unsigned char* interpretiert. Nicht mehr und nicht weniger. Übergeben kannst Du fast alles, was Dir lustig ist.

    @bassmaster sagte in Problem beim Datei auslesen:

    Wenn ich jedoch einen Zeilenumbruch in meiner Datei habe dann werden mir 2 Bytes mehr ausgegeben.

    Zeig Code.



  • @bassmaster sagte in Problem beim Datei auslesen:

    Wenn ich jedoch einen Zeilenumbruch in meiner Datei habe dann werden mir 2 Bytes mehr ausgegeben

    Unter Windows besteht der Zeilenumbruch aus zwei Zeichen
    '\r' für carriage return (Wagenrücklauf) und
    '\n' für new line (Zeilenvorschub)

    Die werden vom System, beim lesen im Textmodus, zu einem einzelnen '\n' gewandelt.

    Bei der Ausgabe sind diese Zeichen nur durch ihre Wirkung zu sehen.
    Wenn du bei printf("buf: <%s>\n",buf); z.B folgende Ausgabe bekommst:

    <ABCD
    >
    

    Dann ist hinter dem D ein \n

    Den Textmodus bekommst du beim fopen mit dem Modus "r".
    Mit "rb" bekommst du den binary-Modus. Da erfolgt keine Wandlung der Steuerzeichen.


Anmelden zum Antworten