bigpoint Geschrieben 16. November 2007 Geschrieben 16. November 2007 Hallo, ich muss Datum die in einem variant_t gespeichert ist in einm _bstr_t in Format TTMMYY speichern, hat jemand ein Idee wie Zitieren
Klotzkopp Geschrieben 16. November 2007 Geschrieben 16. November 2007 Wandle die Zeit im Variant mit VariantTimeToSystemTime in SYSTEMTIME um. Damit kannst du mit swprintf einen hinreichend großen wchar_t-Puffer so formatieren, wie du es brauchst. Danach kannst du aus dem wchar_t-Puffer einen _bstr_t erzeugen. Zitieren
bigpoint Geschrieben 16. November 2007 Autor Geschrieben 16. November 2007 ist es etwa so richtig wchar_t * t; SYSTEMTIME time; VariantTimeToSystemTime(vt.vt,&time); swprintf(t,TEXT("%02d%02d%02d"),time.wDay,time.wMonth,time.wYear); _bstr_t bstr = t; [/PHP] denn wenn ich so schreibe bekommen ich folgende Warnung: warning C4996: 'swprintf': swprintf has been changed to conform with the ISO C standard Zitieren
Klotzkopp Geschrieben 16. November 2007 Geschrieben 16. November 2007 denn wenn ich so schreibe bekommen ich folgende Warnung: warning C4996: 'swprintf': swprintf has been changed to conform with the ISO C standardZwischen den Zielpuffer und den Formatstring gehört die Länge des Zielpuffers. Dein Code hat aber ein viel schlimmeres Problem als diese Warnung: Ich sprach von einem "hinreichend großen wchar_t-Puffer", nicht von einem uninitialisierten Zeiger Zitieren
bigpoint Geschrieben 16. November 2007 Autor Geschrieben 16. November 2007 ja stimmt so seht besser aus, oder ? SYSTEMTIME time; VariantTimeToSystemTime(vt.vt,&time); wchar_t t[sizeof(time)]; swprintf(t,sizeof(time),TEXT("%02d%02d%02d"),time.wDay,time.wMonth,time.wYear%100); _bstr_t bstr = t; [/PHP] Zitieren
Klotzkopp Geschrieben 16. November 2007 Geschrieben 16. November 2007 sizeof(time) reicht zwar aus, ist aber nicht sinnvoll. Du weißt doch genau, wie lang der String wird: 6 Zeichen und ein Nullbyte, macht zusammen 7 Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.