gpt4 book ai didi

c++ - 如何将 char 数组转换为 wchar_t 数组?

转载 作者:可可西里 更新时间:2023-11-01 15:34:23 24 4
gpt4 key购买 nike

char cmd[40];
driver = FuncGetDrive(driver);
sprintf_s(cmd, "%c:\\test.exe", driver);

我不能在

中使用 cmd
sei.lpFile = cmad;

所以,如何将 char 数组转换为 wchar_t 数组?

最佳答案

只需使用这个:

static wchar_t* charToWChar(const char* text)
{
const size_t size = strlen(text) + 1;
wchar_t* wText = new wchar_t[size];
mbstowcs(wText, text, size);
return wText;
}

不要忘记在完成后对返回结果调用delete [] wCharPtr,否则如果您继续调用它而不进行清理,这就是内存泄漏等待发生。或者像下面的评论者建议的那样使用智能指针。

或者使用标准字符串,如下所示:

#include <cstdlib>
#include <cstring>
#include <string>

static std::wstring charToWString(const char* text)
{
const size_t size = std::strlen(text);
std::wstring wstr;
if (size > 0) {
wstr.resize(size);
std::mbstowcs(&wstr[0], text, size);
}
return wstr;
}

关于c++ - 如何将 char 数组转换为 wchar_t 数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3074776/

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