【发布时间】:2013-03-01 05:10:04
【问题描述】:
我想将std::string 和WCHAR* 连接起来,结果应该在WCHAR* 中。
我尝试了以下代码
size_t needed = ::mbstowcs(NULL,&input[0],input.length());
std::wstring output;
output.resize(needed);
::mbstowcs(&output[0],&input[0],input.length());
const wchar_t wchar1 = output.c_str();
const wchar_t * ptr=wcsncat( wchar1, L" program", 3 );
我收到以下错误
错误 C2220:警告视为错误 - 未生成“对象”文件
错误 C2664: 'wcsncat' : 无法将参数 1 从 'const wchar_t *' 转换为 'wchar_t*'
【问题讨论】:
-
很好。你有没有尝试过?
-
不欢迎你。尝试一些东西,向我们展示一些努力或使用示例,然后编辑您的问题。 :3c
-
是的 ma..ha..aster (吱吱声)... master... ma.. ma..
-
output.c_str()返回const wchar_t *(注意星号)。您必须相应地声明wchar1的类型。此外,对于wcsncat的结果,您需要一个不带 const 的wchar_t *。你不能在那里使用output.c_str()。
标签: c++ visual-c++