printf in Variable
-
Hi´,
ich möchte folgendes statt auf der console ausgeben in eine Variable speichern
printf("Sensor%d=%.1f°C;%1f;%1f;0,100.0 ", t->index +1, v->data/10, warning, critical);
Wie kann ich dies anstellen?
thx vicodas
-
Versuch's mal mit sprintf() - das nimmt als ersten Parameter einen char*, wo die Daten reingepackt werden und dahinter Formatstring und Werte wie bei printf():
char output[100];//hier mußt du genug Platz für die gesamte Ausgabezeile vorsehen sprintf(output,"Sensor%d=%.1f°C;%1f;%1f;0,100.0 ", t->index +1, v->data/10, warning, critical);
-
... char msgbuffer[255]; sprintf(msgbuffer, "Sensor%d=%.1f°C;%1f;%1f;0,100.0 ", t->index +1, v->data/10, warning, critical); ...
Grüße,
Martin
Edir: 1:25 zu langsam
-
Das geht ganz einfach mit Sprintf:
sprintf( ZIEL, "Sensor%d=%.1f°C;%1f;%1f;0,100.0 ", t->index +1, v->data/10, warning, critical );
Beachte aber, dass die Funktion nicht sicher ist.
Du musst also selber darauf achten, dass der zu speichernde String nicht länger wird, als in ZIEL gespeichert werden kann.mFg
-
jetzt kannst dir aus den 3 "gleichen" Alternativen eine aussuchen;)
-
Blubb schrieb:
Beachte aber, dass die Funktion nicht sicher ist.
Du musst also selber darauf achten, dass der zu speichernde String nicht länger wird, als in ZIEL gespeichert werden kann.snprintf() behandelt dieses Problem.