我有一个代码:: Blocks的10.05 REV 0和GCC 4.5.2 Linux的/ Unicode的64位和 wxWidgets版本2.8.12.0-0
我有一个简单的问题:带有wxWidgets的C++,Unicode与ASCII,有什么区别?
#define _TT(x) wxT(x)
string file_procstatus;
file_procstatus.assign("/PATH/TO/FILE");
printf("%s",file_procstatus.c_str());
wxLogVerbose(_TT("%s"),file_procstatus.c_str());
printf的输出“/ PATH/TO/FILE“,而wxLogVerbose变成废话。当我想改变的std :: string到wxString我必须做以下几点:
wxString buf;
buf = wxString::From8BitData(file_procstatus.c_str());
有人有一个想法是什么可能是错误的,为什么我需要从8位数据的变化?
使用wsString insted的STD的:字符串可能是一个解决方案,但是如果使用OS功能(和STL功能也是如此),我需要一切转换时,总会有问题。而使用总是_TT(别名为wxT)是非常恼人的。所以我可能必须坚持将std :: string转换为wxString。 :) – ptrl4me
@ ptrl4me:我认为wxString应该可以使用STL函数,而且在我看来'std :: string'对于OS函数来说并不方便。 – UncleBens