Forum: Compiler & IDEs utoa - string mit fester länge formatieren


von Duri B. (dubrain)


Lesenswert?

Hallo

Gibt es in Gcc eine Funktion, analog zu utoa, die einen string in fester 
länge ausgibt ?

Ich möchte, an einem LCD, eine Zahl von immer der gleichen Textlänge 
anzeigen. - z.B. wenn die Zahl 12 ist will ich "012" ausgeben.

Wie ich das ausprogrammieren kann ist mir geläufig.
Ich suche eine Standartfunktion die eine Zahl in einem formatierten Text 
umwandelt.

Gruss
   Dubrain

von Mark B. (markbrandis)


Lesenswert?

Duri Brander schrieb:
> Ich suche eine Standartfunktion die eine Zahl in einem formatierten Text
> umwandelt.

sprintf()

http://www.cplusplus.com/reference/clibrary/cstdio/sprintf/

von Timo S. (kaffeetas)


Lesenswert?

xitoa von elm-chan.org

naja nicht direkt ein GCC Funktion, funktioniert aber prima.

von Duri B. (dubrain)


Lesenswert?

Habe sprintf ausprobiert. Ziemlich mächtige Funktion.

Für die die es Intressiert:

char str[10];
uint16_t i;

sprintf(str, "%8u",++i); // str = 8 Stellen mit Leerzeichen vor der Zahl
oder
sprintf(str, "%08u",++i); // str = 8 Stellen mit Nullen vor der Zahl

Gruss
  Dubrain

von Oliver (Gast)


Lesenswert?

>Habe sprintf ausprobiert. Ziemlich mächtige Funktion.

Toll, nicht war?

>Für die die es Intressiert:

Danke.
Allerdings ist printf Grundbestandteil der Textausgabe in C, und auch 
Bestandteil des weltweit bekanntesten Programms aller Programme: "Hello 
world". Geschätzte 99,999999999999999% aller C-Programmierer dürften 
diese Funktion daher schon mal gesehen haben.

Oliver

von avr (Gast)


Lesenswert?

Duri Brander schrieb:
> Ziemlich mächtige Funktion.

Da hat er Recht wenn man den Speicherbedarf betrachtet ;)

avr

von Peter D. (peda)


Lesenswert?

avr schrieb:
> Da hat er Recht wenn man den Speicherbedarf betrachtet ;)

Wenns sparsamer sein darf:

Beitrag "Formatierte Zahlenausgabe in C"


Peter

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.