ANSI和Unicode互相轉換
阿新 • • 發佈:2019-01-23
轉載自:http://blog.csdn.net/k346k346/article/details/50082705
#include <windows.h>
#include <iostream>
using namespace std;
int main(){
wchar_t* ws=L"測試字串";
char* ss="ABC我們";
int bufSize=WideCharToMultiByte(CP_ACP,NULL,ws,-1,NULL,0,NULL,FALSE);
cout<<bufSize<<endl;
char *sp=new char[bufSize];
WideCharToMultiByte(CP_ACP,NULL,ws,-1,sp,bufSize,NULL,FALSE);
cout<<sp<<endl;
delete[] sp;
bufSize=MultiByteToWideChar(CP_ACP,0,ss,-1,NULL,0);
cout<<bufSize<<endl;
wchar_t* wp=new wchar_t[bufSize];
MultiByteToWideChar(CP_ACP,0,ss,-1 ,wp,bufSize);
wcout.imbue(locale("chs"));
}
程式輸出結果:
11
測試字串
6
ABC我們