Mit Hexadezimalen Zahlen vergleichen



  • Hallo Zusammen,

    mein Problem ist das ich nicht weiss ob und wie ich z.B. eine Variable mit Hexadezimalen Zahlen vergleichen kann. Was ich machen will ist das ich eine .txt Datei einlese, und zwar immer bis zum Ende der Zeile. Und dann soll erst mal gestoppt werden, und da ja am Ende einer Zeile(zumindest beim Windows Editor) immer "0d 0a" steht, waere das wohl eine Sinnvolle Abbruchbedingung.

    Vielleicht kann mir einer von euch helfen.

    Vielen Dank im Voraus

    c u

    Exocom



  • hexadezimale zahlen werden in c glaub ich als

    0x0d
    

    dargestellt.
    aber das kannste auch einfach mit "13" vergleichen sollte das selbe sein



  • Für diese spezielle Aufgabe gibt es ne Funktion im Standard, fgets. fgets hat die Signatur

    char *fgets(char *buffer, size_t buflen, FILE *stream);
    

    sie liest solange aus dem Stream, bis entweder ein Zeilenvorschub oder ein EOF kommt, höchstens aber buflen - 1 Zeichen (um segfaults vorzubeugen) aus stream und schreibt sie nach buffer. Dann gibt sie einen Zeiger auf den Buffer zurück, oder NULL im Fehlerfall. Beispiel:

    FILE *fd = fopen("input.txt", "r");
    char linebuffer[512]; /* ...oder so lang, wie du den Buffer halt haben willst */
    /* ... */
    fgets(linebuffer, 512, fd);
    


  • Danke.

    Hat funktioniert... jetzt errinnere ich mich auch wieder das war ja das tolle an dem fgets... Naja.

    Vielen Dank nochmals

    cu

    Exocom


Anmelden zum Antworten