Forum: Compiler & IDEs Probleme mit der Funktion itoa()


von Thomas Danzer (Gast)


Lesenswert?

Hallo,

ich möchte eine Zahl über eine LCD-Anzeige ausgeben.


  char Buffer[20] ={};
  int zaehler = 0;
...
  itoa( zaehler, Buffer, 10 );
  lcd_string( Buffer );
  lcd_data(Buffer);

Die Zahl wird während des Programmablaufs ständig neu berechnet und wird 
in der LCD-Anzeige ständig aktualisiert.

Nun zu meinem Problem: Nach der Zahl kommt immer noch ein weiteres 
Zeichen (z.B. "25F" anstatt "25"). Ich vermute mal, dass der Buffer vor 
der Wandlung nicht leer ist - oder? Wie kann ich garantieren, dass im 
"Buffer" nur die gewandelte Zahl ist und diese in der LCD-Anzeige 
angezeigt wird?

von Thomas Danzer (Gast)


Lesenswert?

Fehler gerade selber gefunden. "lcd_data(Buffer)" entfernen und schon 
läuft alles richtig...

von Peter II (Gast)


Lesenswert?

Thomas Danzer schrieb:
> läuft alles richtig...

teste mal was passiert wenn die zahl kürzer wird

also aus einer 100 eine 99 wird.

von Thomas Danzer (Gast)


Lesenswert?

ich habe soeben ein kleines Testprogramm geschrieben, welches von "105" 
jede Sekunde um "1" herunterzählt.

- Übergang von "100" auf "99" funktioniert
- Übergang von "10" auf "9" funktioniert
- Übergang von pos auf neg funktioniert
- Übergang von "-9" auf "-10" funktioniert
...

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.