![]() |
#2
rjsp2019-12-04 09:14
|

#include<stdio.h>
#include<windows.h>
#include<string>
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow) {
//多字符转宽字符
char a[] = "这是多字符转宽字符";
setlocale(LC_ALL, "");
//先获取其a的大小
DWORD Mnum; //用来保存大小
Mnum = MultiByteToWideChar(CP_ACP, 0,a,-1, NULL,0); //计算a的大小 , 第三个参数为被转换的字符,第四个取最后\0之前的,第五个参数为接收转换之后的数据,由于我们这里先计算大小所以参数为NULL,第六个参数为被转换的大小
wchar_t * b = new wchar_t[Mnum];
if (!b) {
delete[] b;
return 1;
}
MultiByteToWideChar(CP_ACP, 0, a, -1, b, Mnum);
wprintf(L"L->M %s\n", b);
system("pause");
return 0;
}
#include<windows.h>
#include<string>
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow) {
//多字符转宽字符
char a[] = "这是多字符转宽字符";
setlocale(LC_ALL, "");
//先获取其a的大小
DWORD Mnum; //用来保存大小
Mnum = MultiByteToWideChar(CP_ACP, 0,a,-1, NULL,0); //计算a的大小 , 第三个参数为被转换的字符,第四个取最后\0之前的,第五个参数为接收转换之后的数据,由于我们这里先计算大小所以参数为NULL,第六个参数为被转换的大小
wchar_t * b = new wchar_t[Mnum];
if (!b) {
delete[] b;
return 1;
}
MultiByteToWideChar(CP_ACP, 0, a, -1, b, Mnum);
wprintf(L"L->M %s\n", b);
system("pause");
return 0;
}
但是如果自己入口函数是main的话就可以进行输出
[此贴子已经被作者于2019-12-3 17:38编辑过]