欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

wchar_t,char,string,wstring之間的相互轉換

 更新時間:2013年09月30日 09:06:00   作者:  
以下是對wchar_t,char,string,wstring之間的相互轉換進行了詳細的分析介紹,需要的朋友可以過來參考下,希望對大家有所幫助

在處理中文時有時需要進行wchar_t,char,string,wstring之間的轉換。

其中char和string之間、wchar_t和wstring之間的轉換較為簡單,代碼在vs2010下測試通過。

復制代碼 代碼如下:

#include <iostream>
#include <string>
#include <tchar.h>
#include <Windows.h>

using namespace std;

//Converting&nbsp;a&nbsp;WChar&nbsp;string&nbsp;to&nbsp;a&nbsp;Ansi&nbsp;string
char *w2c(char *pcstr,const wchar_t *pwstr, size_t len)
{
 int nlength=wcslen(pwstr);
 //獲取轉換后的長度
 int nbytes = WideCharToMultiByte( 0, 0, pwstr, nlength, NULL,0,NULL, NULL );
 if(nbytes>len)   nbytes=len;
 // 通過以上得到的結果,轉換unicode 字符為ascii 字符
 WideCharToMultiByte( 0,0, pwstr, nlength,   pcstr, nbytes, NULL,   NULL );
 return pcstr ;
}

int main(){

 setlocale(LC_ALL,"chs");
 char* cc = "this is a char 測試";
 wchar_t* wcc = L"this is a wchar 測試";
 string str("this is a string 測試 ");
 wstring wstr = L"this is a wstring 測試";


 //string to char
 const char* char_test = str.c_str();
 //cout<<"char_test:"<<char_test<<endl;

 //char to string
 string ss = cc;
 //cout<<"ss is :"<<ss<<endl;

 //wstring to wchar
 const wchar_t* wchar_test = wstr.c_str();
 //wcout<<wchar_test<<endl;

 //wchar to wstring
 wstring wss = wcc;
 wcout<<wcc<<endl;

 //char to wchar_t
 wchar_t *wc = new wchar_t[str.size()+1];
 //swprintf(wc,L"%S",cc);
 //wcout<<cc<<endl;
 delete []wc;

 // wchar_t to char
 char *pcstr = (char *)malloc(sizeof(char)*(2 * wcslen(wcc)+1));
 memset(pcstr , 0 , 2 * wcslen(wcc)+1 );
 w2c(pcstr,wcc,2 * wcslen(wcc)+1) ;
 free(pcstr);

 system("pause");
 return 1;
}

相關文章

  • C語言實現(xiàn)雙向鏈表

    C語言實現(xiàn)雙向鏈表

    本文給大家分享的是一段使用C語言實現(xiàn)雙向鏈表的代碼,完全是根據(jù)自己的理解和認識來編寫的,希望大家能夠喜歡,文章的最后附上了一個網(wǎng)友寫的對于雙向鏈表刪除節(jié)點、插入節(jié)點、雙向輸出等操作的代碼,也非常不錯,推薦給大家
    2015-03-03
  • C語言二維數(shù)組運用實現(xiàn)掃雷游戲

    C語言二維數(shù)組運用實現(xiàn)掃雷游戲

    這篇文章主要為大家詳細介紹了C語言二維數(shù)組運用實現(xiàn)掃雷游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • java 中ArrayList與LinkedList性能比較

    java 中ArrayList與LinkedList性能比較

    這篇文章主要介紹了java 中ArrayList與LinkedList性能比較的相關資料,需要的朋友可以參考下
    2017-03-03
  • 深入單鏈表的快速排序詳解

    深入單鏈表的快速排序詳解

    本篇文章是對單鏈表的快速排序進行了詳細的分析介紹,需要的朋友參考下
    2013-05-05
  • C語言共用體union作用使用示例教程

    C語言共用體union作用使用示例教程

    這篇文章主要為大家介紹了C語言共用體union作用的使用示例教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-02-02
  • 詳解基于C++實現(xiàn)約瑟夫環(huán)問題的三種解法

    詳解基于C++實現(xiàn)約瑟夫環(huán)問題的三種解法

    約瑟夫環(huán)問題是算法中相當經典的一個問題,其問題理解是相當容易的,并且問題描述有非常多的版本,并且約瑟夫環(huán)問題還有很多變形,通過這篇約瑟夫問題的講解,一定可以帶你理解透徹
    2021-06-06
  • linux根據(jù)pid獲取進程名和獲取進程pid(c語言獲取pid)

    linux根據(jù)pid獲取進程名和獲取進程pid(c語言獲取pid)

    status文件,第一行的Name即為進程名,C程序實現(xiàn)根據(jù)PID獲取進程名和根據(jù)進程名獲取PID,大家參考使用吧
    2013-12-12
  • C語言字符串函數(shù)介紹與模擬實現(xiàn)詳解

    C語言字符串函數(shù)介紹與模擬實現(xiàn)詳解

    這篇文章主要介紹了C語言實現(xiàn)字符串操作函數(shù)的實例的相關資料,開發(fā)程序的時候經常使用到一些字符串函數(shù),例如求字符串長度,拷貝字符串……,需要的朋友可以參考下
    2021-09-09
  • C語言鄰接表建立圖詳解

    C語言鄰接表建立圖詳解

    這篇文章主要介紹了C語言鄰接表建立圖,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • C語言實現(xiàn)俄羅斯方塊小游戲

    C語言實現(xiàn)俄羅斯方塊小游戲

    這篇文章主要為大家詳細介紹了Linux下C語言實現(xiàn)俄羅斯方塊小游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-07-07

最新評論