gpt4 book ai didi

c++ - 将 int 转换为 wchar_t 的正确方法是什么?

转载 作者:太空宇宙 更新时间:2023-11-04 12:06:02 25 4
gpt4 key购买 nike

假设你有“方法”

int Read(...)
{
unsigned char Byte = 0;
if(!ReadFile(.., &byte, 1,...))
return -1;

return Byte;
}


int ReadBlock(LPWSTR buffer, int cchBuffer ...)
{
int c = 0;
int cnt = 0;
do
{
if( (c=Read(...)) != -1 )
buffer[num++] = c; // Here.
} while( num < ccBuffer );
return cnt;
}

将 int 正确转换为 WCHAR 的正确方法是什么?

最佳答案

使用mbstowcs(多字节字符串转宽字符串):

int ReadBlock(LPWSTR buffer, int cchBuffer ...)
{
int c = 0;
std::vector<char> narrow;
while((c=Read(...)) != -1 )
narrow.push_back(c);
}
narrow.push_back(0);
mbstowcs(buffer, &narrow.front(), cchBuffer);
}

mbstowcs 使用当前语言环境,因此它应该与您输入的编码相匹配。

关于c++ - 将 int 转换为 wchar_t 的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12055197/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com