www.mikrocontroller.net

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


Autor: Duri Brander (dubrain)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Mark Brandis (markbrandis)
Datum:

Bewertung
0 lesenswert
nicht 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/

Autor: Timo S. (kaffeetas)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
xitoa von elm-chan.org

naja nicht direkt ein GCC Funktion, funktioniert aber prima.

Autor: Duri Brander (dubrain)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Oliver (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: avr (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Duri Brander schrieb:
> Ziemlich mächtige Funktion.

Da hat er Recht wenn man den Speicherbedarf betrachtet ;)

avr

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
avr schrieb:
> Da hat er Recht wenn man den Speicherbedarf betrachtet ;)

Wenns sparsamer sein darf:

Beitrag "Formatierte Zahlenausgabe in C"


Peter

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.