char ch[1024] = "wo shi ni baba"; int num = MultiByteToWideChar(0, 0, ch, -1, NULL, 0); wchar_t *wide = new wchar_t[num]; MultiByteToWideChar(0, 0, ch, -1, wide, num); //查看轉換好的結果 cout << wide[3] << endl; //LPCTSTR 轉換成 char * wchar_t widestr[1024] = L"wo shi ni yeye"; int num1 = WideCharToMultiByte(CP_OEMCP, NULL, widestr, -1, NULL, 0, NULL, FALSE); char *pchar = new char[num1]; WideCharToMultiByte(CP_OEMCP, NULL, widestr, -1, pchar, num1, NULL, FALSE); //查看轉換好的結果 cout << pchar[1] << endl;
LPCTSTR類型:
L表示long
指針 這是為了兼容Windows 3.1等16位操作系統遺留下來的,在win32中以及其他的32位操作系統中, long指針和near指針及far
修飾符都是為了兼容的作用。沒有實際意義。
P表示這是一個指針
C表示是一個常量
T表示在Win32環境中, 有一個_T宏
STR表示這個變量是一個字符串
LPCTSTR用來表示你的
字符是否使用UNICODE, 如果你的程序定義了UNICODE或者其他相關的宏,那么這個字符或者字符串將被作為UNICODE字符串,否則就是標准的ANSI字符串。