CreateProcessWithLogonW
-
es geht jetzt mit MultiByteToWideChar()
-
T2W!
Wenn Du VC6 hast gibt es kein CStringW.
Mach aus Deinem Projekt ein Unicode Projekt...
-
Hallo.
Getestet mit VS 08 Expr. und VS6. TestObject: CreateFile(A/W):
char str[] = {"\.\something"};
A: CreateFileA(str, ...); geht.
W: CreateFileW((LPCWSTR) str, ...); geht auch.
A und casten: Fehler.
W und nicht casten: Auch Fehler.Casten? Och nö, ich nehm lieber Klaus.
Gruß
Lars
-
chezzmatazz schrieb:
Hallo.
Getestet mit VS 08 Expr. und VS6. TestObject: CreateFile(A/W):
char str[] = {"\.\something"};
A: CreateFileA(str, ...); geht.
W: CreateFileW((LPCWSTR) str, ...); geht auch.
A und casten: Fehler.
W und nicht casten: Auch Fehler.Ich glaube Du solltest Dir erst einmal klar werden was Unicode ist!
char str[] = "\\.\something"; CreateFileA(str, ...); // geht! Ist ja auch ein char* CreateFileW((LPCWSTR) str, ...); // unsinnig weil einen char* kann man nicht zu wchar_t* casten CreateFileW(CA2W(str), ...); // geht! Weil hier konvertiert wird wchar_t wstr[] = L"\\.\something"; CreateFileW(wstr, ...); // geht auch weil es ein wchar_t* ist
-
Martin Richter schrieb:
char str[] = "\\.\something";Ich glaube, du solltest dir erst einmal klar werden, was Escapesequenzen sind!

-
Da verhau ich mich immer wieder. Scheiß Unix ...
-
-
Wer ALLES über UNICODE wissen will:
http://www.unicode.org/
-
chaezzmatazz schrieb:
Warum können das dann VS 08 Expr. und VS6?
Was können die?
Letzten Endes sind VC2008 und VC6 ziemlich gleich. Nur wird bei VC2008 automatisch Unicode in den Projekteinstellungen bei neuen Projekten verwendet.
In VC6 wurde bei neuen Projekten immer MBCS eingestellt.Du solltest Die also ein paar Grundlagen aneignen.
-
Es war völlig egal, welche Einstellungen ich im Projekt (VS 08 Expr.) setzte, solange ich sauber castete.
Gruß
Lars
-
chezzmatazz schrieb:
Es war völlig egal, welche Einstellungen ich im Projekt (VS 08 Expr.) setzte, solange ich sauber castete.
Ein Cast nützt bei Unicode MBCS gar nichts! Du hast evtl. das Problem nicht verstanden...
BTW: Wenn Du eine Funktion in VC6 mit einem CString hast und dieses Modul Unicode verwendet, und Du hast ein weiteres Modul, dass MBCS verwendet, dann kann dieses MBCS Modul die Unicode CString Funktion nicht nutzen!
In VC6 gab es noch keine Aufteilung in CStringA und CStringW.