string,wstring,CString

一.概念  

    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);
發佈了62 篇原創文章 · 獲贊 32 · 訪問量 46萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章