VC2005中System::String转换为std::string

来源:CSDN 作者: 2007-12-03 出处:pcdog.com

qq  

  今天在做一个划词的程序,用了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还不成熟,等再发两个版本再说吧。



上一篇:多线程、Socket技术及委托技术的关系
下一篇:如何创建无模式对话框