Forum: Mikrocontroller und Digitale Elektronik Parameter Ausgabe per sprintf?


von ADAC (Gast)


Lesenswert?

Hallo,

ich habe eine etwas längere Parameterliste mit uint8, uint16, float und 
chars.
Wenn ich diese im gesamten ausgeben möchte, welcher ist der beste Weg?

- Per sprintf alle in einen langen String formatieren und anschließend 
ausgeben

- Per itoa, dtostrf oder sprintf alle in einen separaten String 
umwandeln und für alle einen Platzhalterstring bereithalten.

- Dritte Möglichkeit: ?

Also: Wie macht man so etwas effizient?

von Mitlesa (Gast)


Lesenswert?

ADAC schrieb:
> Also: Wie macht man so etwas effizient?

Kommt sehr darauf an was du unter effizient verstehst.

von Mitlesa (Gast)


Lesenswert?

Mitlesa schrieb:
> Kommt sehr darauf an was du unter effizient verstehst.

ditto für:

ADAC schrieb:
> welcher ist der beste Weg?

von Peter II (Gast)


Lesenswert?

ADAC schrieb:
> Per sprintf alle in einen langen String formatieren und anschließend
> ausgeben
wenn man genug RAM hat und es schnell genug ist, ist es 
Programmiertechnisch das einfachste.

> Per itoa, dtostrf oder sprintf alle in einen separaten String
> umwandeln und für alle einen Platzhalterstring bereithalten.
wenn man wenig speicher hat und es möglichst schnell gehen soll, dann 
so.

> Dritte Möglichkeit: ?
es Binär ausgeben.

von Timmo H. (masterfx)


Lesenswert?

Am ende macht sprintf nichts anders als "itoa, dtostrf...". Wenn du 
printf/sprintf öfter nutzt wirst du nicht wirklich einen unterschied 
merken. Weder im Flash-Verbrauch noch in der Ausführungszeit.

von DirkB (Gast)


Lesenswert?

ADAC schrieb:
> - Per itoa, dtostrf oder sprintf alle in einen [separaten] String
> umwandeln und

direkt ausgeben.

Nicht die Strings sammeln, sondern direkt ausgeben.

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.