C++实现CString和string的互相转换-创新互联

CString->std::string 例子:

文昌ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:13518219792(备注:SSL证书合作)期待与您的合作!

CString strMfc=“test“;

std::string strStl;

strStl=strMfc.GetBuffer(0);

unicode情形下:

   CStringW strw = _T("test");
   CStringA stra(strw.GetBuffer(0));
   strw.ReleaseBuffer();

   std::string imgpath=stra.GetBuffer(0);
   stra.ReleaseBuffer();

std::string->CString  例子:

CString strMfc;

std::string strStl=“test“;

strMfc=strStl.c_str();

AfxExtractSubString是截取字符串的函数,很好用,不过美中不足的地方在与它只能使用单个字符作为分割符。

但是这种情况在很多时候都行不通,如果分割符需要是两个字符以上呢?

之前因为这个问题试了很久,也在网上搜索过。不过可惜的是,网上的大部分关于VC截取字符串的文章都是那么同样的几篇,都是写的满复杂然后可以实现了AfxExtractSubString功能而已的,也就是只能用单个字符截取,但是标题却写着用字符串截取字符串,好笑!

不找了,自己写吧。CString里面有Find,然后再组成数组。

C++实现CString和string的互相转换void Split(CString source, CStringArray& dest, CString division)
C++实现CString和string的互相转换{
C++实现CString和string的互相转换    dest.RemoveAll();
C++实现CString和string的互相转换    int pos = 0;
C++实现CString和string的互相转换    int pre_pos = 0;
C++实现CString和string的互相转换    while( -1 != pos ){
C++实现CString和string的互相转换        pre_pos = pos;
C++实现CString和string的互相转换        pos = source.Find(division,(pos+1));
C++实现CString和string的互相转换        dest.Add(source.Mid(pre_pos,(pos-pre_pos)));
C++实现CString和string的互相转换    }
C++实现CString和string的互相转换
C++实现CString和string的互相转换}

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


名称栏目:C++实现CString和string的互相转换-创新互联
新闻来源:http://scyanting.com/article/csodjg.html