const char[3] in LPWSTR konvertieren
-
Ich habe das Problem, dass ich einen Wert in LPWSTR
konvertieren muss. Leider komme ich nicht wirklich
dahinter wie das geht.
-
char a[3];
wchar_t b[3];
b[0] = a[0];
b[1] = a[1];
b[2] = a[2];
LPWSTR p = b;
-
Genauer gesagt geht es um diesen Codeteil:
SHARE_INFO_2 buffer; buffer.shi2_netname = "test"; //muss LPWSTR sein buffer.shi2_type = STYPE_DISKTREE; buffer.shi2_path = "C:\\"; //muss LPWSTR sein buffer.shi2_permissions = ACCESS_ALL; buffer.shi2_remark = "hello"; //muss LPWSTR sein buffer.shi2_current_uses = 12; buffer.shi2_max_uses = 20; buffer.shi2_passwd = "geheim"; //muss LPWSTR sein
Ich muss allerdings netname,remark,passwd und path mit Variablen
belegen, die ich in Form eines CString erhalte. Trotz deinem
Konvertierungshinweis kapiere ich es nicht. Was mache ich falsch ?
Bzw. wie geht es richtig ?
-
Deriges schrieb:
buffer.shi2_netname = "test"; //muss LPWSTR sein
buffer.shi2_netname = L"test";
Man beachte das L.
-
Hallo Bug,
danke so funktioniert es einwandfrei. Wo liegt da der Unterschied
zwischen TEXT und L"" ? Gibt es eine Möglichkeit den Wert
über einen CString variabel zu halten ?
-
Hab noch keinen Plan wie ich den Inhalt von
CString value1="c:\\dir2";
in LPWSTR überführe um diesen dann als Variable
inbuffer.shi2_path
zu nutzen. Hat jemand von
euch eine Idee
-
Deriges schrieb:
Wo liegt da der Unterschied
zwischen TEXT und L"" ?L"" liefert immer einen wide-character String. TEXT nur bei Unicode Kompilierung, ansonsten erhälst du einen char String.
Deriges schrieb:
Gibt es eine Möglichkeit den Wert
über einen CString variabel zu halten ?Ein CString besteht aus TCHARs. Ein TCHAR ist bei Unicode Kompilierung als wchar_t definiert, ansonsten als char.
-
Danke, Problem gelöst !