今天在做一个划词的程序,用了sqlite做词库,词在存进去的时候,用的是ANSI编码,可是从textbox里读出来的是unicode编码,为了这个转换,我忙了两天了,现在终于解决了,写在这里,为以后用,以为后来的同志们做一个例程了!
std::string ConvertToString(System::String^ str)
{
int q=(int)System::Runtime::InteropServices::Marshal::StringToHGlobalAnsi(str);
char* p=(char*)q;
return std::string(p);
}
其实主要是为了unicode到ansi的转换,在QQ群上问的时候,有人很诧异,问我为什么要做这个转换,要做c++/cli就不要用本地的东西了嘛,谁让咱放不下c++呢,再说了,这个c++/cli还真不习惯,先这么着吧。只是用用罢了。总觉得c++/cli还不成熟,等再发两个版本再说吧。