菜鸟lei的学习成长空间

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

一.概念  

    string是C++提供的标准字符串操作类.wstring是操作宽字符串的类.

    CString是对string(字符串)和wstring(宽字符串)的一个封装,常用在mfc中.用来解决编码问题的.

二.转换

    string或者wstring转换到CString:

    要把std::string或者std::wstring类型的数据存放到CString中,直接调用string::c_str()或者wstring::c_str()就行了.

    CString转换到string或者wstring

    CString::GetBuffer(0)就能转换到string或者wstring.如果编译时候定义了UNICODE,则转换到wstring;如果未定义,则转换到string.

     string与wstring之间的转换

    微软提供了一个工具,用于string和wstring之间的转换.

    utf8conv.h

    这个头文件中提供了一个utf8util 的命名空间,里面包含了如下的字符转换函数:

   1:  std::wstring UTF16FromUTF8(const std::string & utf8);  
   2:  std::wstring UTF16FromUTF8(const char * utf8); 
   3:  std::string UTF8FromUTF16(const std::wstring & utf16); 
   4:  std::string UTF8FromUTF16(const wchar_t * utf16); 

这个工具足够string与wstring之间的转换了.

 

其他:

    string,wstring转数字

   需要使用stringstream,wstringstream(都在sstream头文件中包含)

 

   1:  int val;
   2:  string str;
   3:  stringstream ss (stringstream::in | stringstream::out);
   4:  ss << str;
   5:  ss >> val;

CString 转数字

          _ttoi()这是个宏,如果定义了UNICODE,则等价于_wtoi(),否则对应atoi(),要使用,需要引入<stdlib.h>

数字转CString

   1:  int iValue = 0;
   2:  CString::Format(_T("%d") , iValue);
posted on 2012-11-09 00:15  菜鸟-雷  阅读(8260)  评论(2编辑  收藏  举报