Double Werte in String - Schnellste Lösung geuscht
-
Hey Leute,
ich möchte gerne mehere Double Werte in einem String haben. Die Ausgabe des Strings sähe so aus:
printf("%d.%d.%d(%d-%0d-%d) ", times->tm_mday, times->tm_mon + 1, times->tm_year + 1900, times->tm_hour, times->tm_min, times->tm_sec);
Ich würde nur sehr ungern mit strcat() und doubletoASCII arbeiten, da dies zu viele Einzelschritte sind.
Kennt jmd. eine bessere Lösung ?
Mfg Homie
-
-
double? Ich sehe kein double.
-
danke, sprintf wars
Wutz schrieb:
double? Ich sehe kein double.
Double Werte sind die, die er sich aus der Zeit Struktur holt.
In C auch long float gennant <- meintest du das ?
-
Homie schrieb:
Double Werte sind die, die er sich aus der Zeit Struktur holt.
1. Wer ist 'er'?
2. in der Zeit Struktur sind keine Double Werte.
-
Dann schau dir mal die Definition von der
struct tm
an:
http://www.cplusplus.com/reference/clibrary/ctime/tm/Das d nach dem % bedeutet "Dezimal".
Im Unterschied zu x und o.
-
Noch eine Anmerkung zu deinem Zeitformat:
Uhrzeiten werden üblicherweise durch : getrennt.
Zeitangaben mit - werden meist in der Form JJJJ-MM-TT interpretiert.
Zudem sollten deine Zahlen auch mindestens zweistellig sein.Wenn du das JJJJ-MM-TT Format benutzt, kannst du die Zeiten auch als String sortieren.
printf("%4d-%02d-%02d(%02d:%02d:%02d) ", times->tm_year + 1900, times->tm_mon + 1, times->tm_mday, times->tm_hour, times->tm_min, times->tm_sec);
-
Für den ganzen Zeitausgabekram gibt es auch die Funktion strftime, da benötigt man kein Wissen um double und dergleichen.