gpt4 book ai didi

c++ - 如何使用字符串的值将字符串转换为 wstring?

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:22:24 25 4
gpt4 key购买 nike

我是 C++ 新手,遇到了这个问题。我有一个名为 DATA_DIR 的字符串,我需要将其格式化为 wstring。

string str = DATA_DIR;
std::wstring temp(L"%s",str);

Visual Studio 告诉我没有与参数列表匹配的构造函数实例。显然,我做错了什么。

我在网上找到这个例子

std::wstring someText( L"hello world!" );

这显然有效(没有编译错误)。我的问题是,如何将存储在 DATA_DIR 中的字符串值获取到 wstring 构造函数中,而不是像“hello world”这样的任意值?

最佳答案

这是一个使用 wcstombs 的实现(已更新):

#include <iostream>
#include <cstdlib>
#include <string>

std::string wstring_from_bytes(std::wstring const& wstr)
{
std::size_t size = sizeof(wstr.c_str());
char *str = new char[size];
std::string temp;

std::wcstombs(str, wstr.c_str(), size);

temp = str;
delete[] str;

return temp;
}

int main()
{
std::wstring wstr = L"abcd";
std::string str = wstring_from_bytes(wstr);
}

Here is a demo.

关于c++ - 如何使用字符串的值将字符串转换为 wstring?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18244133/

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