最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

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

復(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)換后的長度
 int nbytes = WideCharToMultiByte( 0, 0, pwstr, nlength, NULL,0,NULL, NULL );
 if(nbytes>len)   nbytes=len;
 // 通過以上得到的結(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 測試";
 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;
}

相關(guān)文章

  • C++實(shí)現(xiàn)LeetCode(145.二叉樹的后序遍歷)

    C++實(shí)現(xiàn)LeetCode(145.二叉樹的后序遍歷)

    這篇文章主要介紹了C++實(shí)現(xiàn)LeetCode(145.二叉樹的后序遍歷),本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • C++實(shí)現(xiàn)拷貝構(gòu)造函數(shù)的方法詳解

    C++實(shí)現(xiàn)拷貝構(gòu)造函數(shù)的方法詳解

    拷貝構(gòu)造函數(shù)是構(gòu)造函數(shù)的一個(gè)重載,因此顯式的定義了拷貝構(gòu)造,那么編譯器也不再默認(rèn)生成構(gòu)造函數(shù)。本文主要介紹了C++實(shí)現(xiàn)拷貝構(gòu)造函數(shù)的方法,需要的可以參考一下
    2022-09-09
  • C語言代碼詳細(xì)描述順序線性表

    C語言代碼詳細(xì)描述順序線性表

    這篇文章主要用代碼介紹了C語言線性表的順序線性表,對于學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)與算法的朋友很有參考借鑒價(jià)值,需要的朋友可以參考下
    2021-09-09
  • c++ 數(shù)字類型和字符串類型互轉(zhuǎn)詳解

    c++ 數(shù)字類型和字符串類型互轉(zhuǎn)詳解

    今天小編就為大家分享一篇講解c++ 數(shù)字類型和字符串類型互轉(zhuǎn)的文章,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-09-09
  • 詳解C/C++如何獲取路徑下所有文件及其子目錄的文件名

    詳解C/C++如何獲取路徑下所有文件及其子目錄的文件名

    這篇文章主要為大家詳細(xì)介紹了在C/C++中如何獲取路徑下所有文件及其子目錄的文件名,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2023-03-03
  • Qt實(shí)現(xiàn)簡單的TCP通信

    Qt實(shí)現(xiàn)簡單的TCP通信

    這篇文章主要為大家詳細(xì)介紹了Qt實(shí)現(xiàn)簡單的TCP通信,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • C語言字符函數(shù)和字符串函數(shù)示例詳解

    C語言字符函數(shù)和字符串函數(shù)示例詳解

    本文詳細(xì)介紹了C語言中字符分類函數(shù)、字符轉(zhuǎn)換函數(shù)及字符串操作函數(shù)的使用方法,并通過示例代碼展示了如何實(shí)現(xiàn)這些功能,通過這些內(nèi)容,讀者可以深入理解并掌握C語言中的字符串處理技巧,感興趣的朋友一起看看吧
    2025-03-03
  • C++實(shí)現(xiàn)小型復(fù)數(shù)計(jì)算器

    C++實(shí)現(xiàn)小型復(fù)數(shù)計(jì)算器

    這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)小型復(fù)數(shù)計(jì)算器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-06-06
  • C++實(shí)現(xiàn)LeetCode(131.拆分回文串)

    C++實(shí)現(xiàn)LeetCode(131.拆分回文串)

    這篇文章主要介紹了C++實(shí)現(xiàn)LeetCode(131.拆分回文串),本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • C++11中跳轉(zhuǎn)initializer_list實(shí)現(xiàn)分析

    C++11中跳轉(zhuǎn)initializer_list實(shí)現(xiàn)分析

    這篇文章主要介紹了C++11中跳轉(zhuǎn)initializer_list實(shí)現(xiàn)分析,實(shí)例分析initializer_list<T>初體驗(yàn),結(jié)合示例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-04-04

最新評論

军事| 仁怀市| 玉溪市| 福鼎市| 外汇| 枣强县| 卓资县| 敖汉旗| 泗阳县| 辉南县| 黄山市| 咸宁市| 定远县| 伊金霍洛旗| 新乡县| 江门市| 长葛市| 漳浦县| 安国市| 两当县| 南溪县| 隆安县| 镇江市| 大荔县| 石景山区| 满城县| 兴海县| 隆回县| 扬中市| 阿克| 吴旗县| 武宁县| 洪泽县| 巴青县| 抚松县| 贵定县| 历史| 灵川县| 桓仁| 蓬莱市| 秀山|