Forum: Mikrocontroller und Digitale Elektronik Leerzeichen ins Array einfügen


von Owen S. (senmeis)


Lesenswert?

Hi,

man möchte eine Zahl in eine Zeichenkette konvertieren.
1
unsigned char str[4];
2
unsigned int engine_speed;
3
sprintf(str, "%u", engine_speed);
Es soll gelten:

engine_speed >= 1000: str = "xxxx"
100 <= engine_speed < 1000: str = " xxx"
10 <= engine_speed < 100: str = "  xx"
engine_speed < 10: str = "   x"

also jeweils entsprechende Leerzeichen sollen eingefügt werden. Gibt's 
einfache Wege, sowas zu realisieren?

MfG
Senmeis

von olli (Gast)


Lesenswert?

sprintf(str, "%4u", engine_speed);

von LuXXuS 9. (aichn)


Lesenswert?

Owen Senmeis schrieb:
> Gibt's
> einfache Wege, sowas zu realisieren?

Na du hast doch deine IF-THEN Bedingung schon quasi selber beschrieben.
Da kannste doch erst die Umwandlung in den Buffer machen und dann 
nachträglich die entsprechenden Stellen mit Leerzeichen überschreiben.

von Timmo H. (masterfx)


Lesenswert?

Das bringt (s)printf sogar schon mit:
1
sprintf(str,"%4u",engine_speed );
Achja dein str muss 5 groß sein (wegen 0-Terminierung)

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.