こんにちは私はいくつかのアドバイスを探していますクラスのコマンドインタープリターで働いていますそして私は内部変数からいくつかのc文字列を取得してstd::wstringを作成するこの「コマンド」(つまりクラス)を持っていますそしてそれをwchar_tにキャストします*しかし、それを返すと、変数にごみが表示されます。
戻る前の変数の内容:
comandos disponibles:ayuda salir
返却後の変数の内容:
����������������������������������������
関数にconstwchar_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;
}