Negative Zahlen



  • Ich verwende die Funktion itoa(test1,test2,10) um einen Integer Wert umzuwandeln, damit ich ihn in eine ListView anzeigen kann!
    Das Problem welches bei mir auftrit ist, dass Zahlen über 127 negativ angezeigt werden!
    Also wenn die Zahl über 127 und kleiner 256 ist wird der Wert negativ angezeigt!
    Weiß jemand warum?

    test1 ist Integer!
    test2 ist ein CharArray!

    Danke!





  • @Dust!
    Es wurde mir gesagt, dass ichd iese Frage hier stellen soll!



  • Weiß keiner eine Antwort?

    Danke



  • Gast123 schrieb:

    Weiß keiner eine Antwort?

    Danke

    1. Crossposting ist nicht nett, also warte bis ein Mod deinen Thread verschiebt, bevor du dasselbe in einem anderem Subforum fragst.

    2. Es gilt als unhöfflich, wenn jemand eine Frage postet und nicht einmal einen Tag wartet (du hast gerade 2 Stunden gewartet), um zu fragen, ob jemand eine Antwort für dich hätte. Wir sind keine Hotline und zu keiner Antwort verpflichtet.

    3. itoa ist nicht ANSI C

    4. sprintf eignet sich besser für dein Problem:

    char buffer[10];
    sprintf(buffer, "%d", 129);
    

    Um Zahlen in beliebiger Basis zu wecheseln: man: strtol(3)

    5. Dein Problem könnte an deinem ListView liegen, welches signed char statt unsigned char rendert. Da ListView nicht im ANSI C erhalten ist, kann ich dir da nicht weiter helfen, weil ich es nicht kenne. Es ist nur eine Vermutung.



  • 4. Als sichere Variante ist snprintf zu empfehlen.

    char buffer[10];
    snprintf(buffer, sizeof(buffer), "%d", 129);
    

Log in to reply