Veröffentlicht 16. November 200717 j Hallo, ich muss Datum die in einem variant_t gespeichert ist in einm _bstr_t in Format TTMMYY speichern, hat jemand ein Idee wie
16. November 200717 j 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.
16. November 200717 j Autor 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
16. November 200717 j 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
16. November 200717 j Autor 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]
16. November 200717 j 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
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.