HEX-String in Dezimalzahl darstellen bzw. ausgeben



  • Hallo,

    ich habe ein CHAR welches mit einem Hexadezimalen Wert gefüllt ist, z.B. 01DC1D4F.

    Dieses will ich nun in eine Datei schreiben, aber nicht den HEX-Wert sondern den umgewandelten Dezimalwert.

    Kann mir dabei jemand helfen, denn ich weiss nicht, wie ich das machen soll. Habs schon mit dem fprintf probiert, komme aber mit den Zusatzparametern nicht zurecht.

    Wäre euch echt dankbar.

    MfG

    MTC

    P.S.: Ich weiß dass das bestimmt ein lächerliches Problem ist, aber ich weiss nicht weiter.



  • Mit sscanf geht das.

    char hex[]="01DC1D4F";
    long i;
    
    sscanf(hex, "%lx", &i);
    printf("\n%ld",i);
    


  • Tausend Dank an DrZoidberg,

    hab ewig rumprobiert.

    Aber das ist die Lösung.

    Vielen Dank nochmal.

    MfG

    🙂 MTC 🙂



  • Ist Die Hexadezimalzahl die du dezimal darstellen willst signed oder unsigned ?

    Wenn sie unsigned ist

    sollte das i von DrZoidberg nicht "long" sonder "unsigned long" heißen.

    und im printf anstelle von
    printf("\n%ld",i);

    besser
    printf("\n%lu",i);

    stehen.



  • Doppel posting


Anmelden zum Antworten