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

wchar_t,char,string,wstring之間的相互轉(zhuǎn)換

 更新時(shí)間:2013年09月30日 09:06:00   作者:  
以下是對(duì)wchar_t,char,string,wstring之間的相互轉(zhuǎn)換進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助

在處理中文時(shí)有時(shí)需要進(jìn)行wchar_t,char,string,wstring之間的轉(zhuǎn)換。

其中char和string之間、wchar_t和wstring之間的轉(zhuǎn)換較為簡(jiǎn)單,代碼在vs2010下測(cè)試通過(guò)。

復(fù)制代碼 代碼如下:

#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);
 //獲取轉(zhuǎn)換后的長(zhǎng)度
 int nbytes = WideCharToMultiByte( 0, 0, pwstr, nlength, NULL,0,NULL, NULL );
 if(nbytes>len)   nbytes=len;
 // 通過(guò)以上得到的結(jié)果,轉(zhuǎn)換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 測(cè)試";
 wchar_t* wcc = L"this is a wchar 測(cè)試";
 string str("this is a string 測(cè)試 ");
 wstring wstr = L"this is a wstring 測(cè)試";


 //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;
}

相關(guān)文章

  • C語(yǔ)言實(shí)現(xiàn)雙向鏈表

    C語(yǔ)言實(shí)現(xiàn)雙向鏈表

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

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

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

    java 中ArrayList與LinkedList性能比較

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

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

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

    C語(yǔ)言共用體union作用使用示例教程

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

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

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

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

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

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

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

    C語(yǔ)言鄰接表建立圖詳解

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

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

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

最新評(píng)論