嗨,我正在寻找一些建议,我在类的命令解释器中工作,我有这个“命令”(即一个类),它从内部变量中获取一些 c 字符串并创建一个 std::wstring,然后我将它转换为 wchar_t *但是当我返回它时,我只会在变量上得到垃圾,pe
返回前变量的内容:
comandos disponibles: ayuda salir
返回后变量的内容:
������������������������������������������
我试图让函数返回一个 const wchar_t * 但它也不起作用,但如果我在返回中放入一个字符串,它就可以正常工作。
return L"test"
任何想法?
- 编辑 -
这是我正在使用的代码
wchar_t * ayuda::run(std::list<char* const> * lista){
std::wstring out;
out += L"comandos disponibles:\n"; //static header
commandMap map = loadMap();//get a map whit all the function names
commandMap::iterator it;
for(it = map.begin(); it != map.end();it++){
out+=std::wstring(it->first.begin(),it->first.end())+L"\n";// append the command name to the string
}
wchar_t * _out = const_cast<wchar_t*>( out.c_str() ); //cast to wchar *
return _out;
}