warum _wstrtime ?
-
Hallo,
ich arbeite mit RadStudio und schreibe einige Programme die ich mit dem Borland 6 geschrieben habe neu mit Radstudio, nun habe ich in einer Funktion den Befehl _strtime aber es gibt auch den Befehl _wstrtime für wide-character. Ich Frage mich aber wieso für die Zeitangabe ein wide-character benötigt wird.
-
@Gestalt sagte in warum _wstrtime ?:
Ich Frage mich aber wieso für die Zeitangabe ein wide-character benötigt wird.
Damit der String zum System passt
oder mit anderen wide-strings kombiniert werden kann.
-
@Gestalt Im Prinzip läuft es auf das hinaus was @DirkB schon geschrieben hat, aber hier nochmal ein Grund etwas ausführlicher: Wenn du in einer Anwendung
wchar_t
für Pfade & Co verwendest, dann macht es oft Sinn überallwchar_t
zu verwenden. Weil du nicht an 100 Stellen konvertieren willst. Und dann ist es natürlich praktisch wenn du gleich alles alswchar_t
bekommen kannst.Also konkret ein Beispiel: wenn meine Anwendung überall
wchar_t
verwendet, dann auch z.B. für Meldungen die ins Logfile geschrieben werden sollen. Die Meldungen wird man dann beim Schreiben vermutlich nach UTF-8 konvertieren, weil halt keiner UTF-16 Logfiles haben möchte. Aber das ist eine Stelle. Und davor, wo man die Messages zusammenbaut, möchte man dann mit UTF-16 arbeiten. Und wenn man da nen String mit der aktuellen Zeit haben möchte, dann ist es praktisch wenn es sowas wie_wstrtime
gibt.
Davon abgesehen ist es vermutlich doof in aktuellen Programmen noch mit
wchar_t
zu arbeiten, speziell wenn sie portierbar sein sollen. Da wäre eher UTF-8 mitchar8_t
angesagt. Allerdings ist es auch dann gut wenn man diewchar_t
Funktionen hat, da kaum ein Windows auf UTF-8 eingestellt ist, d.h. das was man von den guten alten "char" Funktionen bekommt kann man nicht 1:1 verwenden. Was man von denwchar_t
Funktionen bekommt kann man aber relativ einfach nach UTF-8 konvertieren. Ist jetzt bei_strtime
relativ egal, weil da vermutlich nie non-ASCII Zeichen enthalten sein werden. Aber warum sich darauf verlassen wenn es auch einewchar_t
Variante der Funktion gibt?
-
Habe mir das schon so ähnlich gedacht, aber wollte es von Euch genau wissen wie sich das verhält. Es hätte ja auch einen anderen Hintergrund haben können den ich nicht wüsste. Dann kann ich ja beruhigt zu Bett gehen in 5 Stunden.
-
@hustbaer ich speichere meine Config-Files (*.ini) in UTF8 ab, auch die wo ich den Borland 6 noch benutze.