c++ - 为什么我不能从 char* 构造 wstring
问题描述
char*
根据我从这段代码中构建填充:
char* pathAppData = nullptr;
size_t sz = 0;
_dupenv_s(&pathAppData, &sz, "APPDATA");
我可以很容易地用这段代码构造一个,string
并且在将来:append
string
std::string sPathAppData(pathAppData);
sPathAppData.append("\\MyApplication");
但我无法wstring
从此代码创建一个。为什么使用起来如此复杂wstring
?我对所有这些类型都快疯了。
std::wstring wPathAppData(pathAppData); // Impossible
解决方案
您必须使用迭代器进行复制。这就是你可以做到的。
char* pathAppData = nullptr;
size_t sz = 0;
_dupenv_s(&pathAppData, &sz, "APPDATA");
std::string sPathAppData(pathAppData);
sPathAppData.append("\\MyApplication");
std::wstring wPathAppData(begin(sPathAppData), end(sPathAppData));
wcout << wPathAppData << endl;
推荐阅读
- sql - 在 SQL 中选择条件组中包含的值
- r - 在 r stargazer 中显示低于 0.1 的 p 值
- javascript - 如何编辑 react-clock 库的样式?
- react-native - 在 navigationOption 中获取状态值?
- javascript - Node.js - 检查字符串是否代表大量元素的有效日期时间的最快方法是什么?
- ios - iOS 防止跨子域的通用链接
- c - 在 c 中调试我自己的二叉树 adt 时出现问题
- java - 如何在ArrayList java中使用字符串索引查找所有出现
- list - PYTHON:从列表中删除单词列表
- google-vision - 为什么google vision api的结果与网站的ocr不同?