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

C++多字節(jié)字符與寬字節(jié)字符相互轉(zhuǎn)換

 更新時(shí)間:2012年11月23日 15:12:52   作者:  
最近在C++編程中經(jīng)常遇到需要多字節(jié)字符與寬字節(jié)字符相互轉(zhuǎn)換的問題,自己寫了一個(gè)類來封裝wchar_t與char類型間的轉(zhuǎn)換
最近在C++編程中經(jīng)常遇到需要多字節(jié)字符與寬字節(jié)字符相互轉(zhuǎn)換的問題,一直自己貼那幾句代碼。覺得麻煩,于是就自己寫了一個(gè)類來封裝wchar_t與char類型間的轉(zhuǎn)換,其他的,諸如:CString\ LPWSTR\TCHAR CHAR\LPSTR之間也是一樣用
復(fù)制代碼 代碼如下:

#include <iostream>
using namespace std;
class CUser
{
public:
CUser();
virtual~ CUser();
char* WcharToChar(wchar_t* wc);//寬字節(jié)轉(zhuǎn)單字節(jié)
wchar_t* CharToWchar(char* c); //單字節(jié)轉(zhuǎn)寬字節(jié)
void Release();//釋放資源
private:
char* m_char;
wchar_t* m_wchar;
};
/////////////////////////////////////////////////////////////////////////////////////
/*字符類型 wchar_t char
/*獲取字符長度 wcslen() strlen()
/*連接兩個(gè)字符串 wcscat() strcpy()
/*復(fù)制字符串 wcscpy() strcpy()
/*比較兩個(gè)字符串 wcscmp() strcmp()
/*具體參數(shù)詳見www.linuxidc.com*/
////////////////////////////////////////////////////////////////////////////////////
CUser::CUser()
:m_char(NULL)
,m_wchar(NULL)
{
}
CUser::~CUser()
{
Release();
}
char* CUser::WcharToChar(wchar_t* wc)
{
Release();
int len= WideCharToMultiByte(CP_ACP,0,wc,wcslen(wc),NULL,0,NULL,NULL);
m_char=new char[len+1];
WideCharToMultiByte(CP_ACP,0,wc,wcslen(wc),m_char,len,NULL,NULL);
m_char[len]='\0';
return m_char;
}
wchar_t* CUser::CharToWchar(char* c)
{
Release();
int len = MultiByteToWideChar(CP_ACP,0,c,strlen(c),NULL,0);
m_wchar=new wchar_t[len+1];
MultiByteToWideChar(CP_ACP,0,c,strlen(c),m_wchar,len);
m_wchar[len]='\0';
return m_wchar;
}
void CUser::Release()
{
if(m_char)
{
delete m_char;
m_char=NULL;
}
if(m_wchar)
{
delete m_wchar;
m_wchar=NULL;
}
}

使用的時(shí)候非常簡單了:
復(fù)制代碼 代碼如下:

WCHAR* wc=findData.cFileName;
CUser u;
char* c=u.WcharToChar(wc);
cout<<c<<endl;
CUser u;
char* pBuffer=u.WcharToChar(szFullPath);
cout<<totalNum<<" "<<pBuffer<<endl;

相關(guān)文章

  • 基于C語言實(shí)現(xiàn)簡易的掃雷游戲

    基于C語言實(shí)現(xiàn)簡易的掃雷游戲

    這篇文章主要為大家詳細(xì)介紹了基于C語言實(shí)現(xiàn)簡易的掃雷游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • C語言超詳細(xì)講解函數(shù)指針的運(yùn)用

    C語言超詳細(xì)講解函數(shù)指針的運(yùn)用

    函數(shù)指針是一個(gè)指針變量,它可以存儲(chǔ)函數(shù)的地址,然后使用函數(shù)指針,下面這篇文章主要給大家介紹了關(guān)于C語言進(jìn)階教程之函數(shù)指針的相關(guān)資料,需要的朋友可以參考下
    2022-06-06
  • C++中const的常見用法詳解

    C++中const的常見用法詳解

    const名叫常量限定符,用來限定特定變量,以通知編譯器該變量是不可修改的,本文為大家整理了const的幾種使用,感興趣的小伙伴可以跟隨小編一起了解一下
    2023-06-06
  • 求數(shù)組中最長遞增子序列的解決方法

    求數(shù)組中最長遞增子序列的解決方法

    本篇文章是對(duì)c++中求數(shù)組中最長遞增子序列的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • C++17?Filesystem?實(shí)用教程

    C++17?Filesystem?實(shí)用教程

    C++17的std::filesystem庫提供了強(qiáng)大的文件系統(tǒng)操作工具,本文就來介紹一下C++17?Filesystem?實(shí)用教程,具有一定的參考價(jià)值,感興趣的可以了解一下
    2025-01-01
  • 如何使用遞歸和非遞歸方式反轉(zhuǎn)單向鏈表

    如何使用遞歸和非遞歸方式反轉(zhuǎn)單向鏈表

    以下是對(duì)使用遞歸和非遞歸方式反轉(zhuǎn)單向鏈表的示例進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以過來參考下
    2013-07-07
  • C++中int、DWORD和QWORD示例詳解

    C++中int、DWORD和QWORD示例詳解

    當(dāng)談?wù)揅++編程語言時(shí),以下術(shù)語經(jīng)常被提及:int、DWORD和QWORD,它們是用于表示不同數(shù)據(jù)類型和長度的關(guān)鍵字,本文通過舉例給大家詳細(xì)介紹,感興趣的朋友一起看看吧
    2024-06-06
  • 利用C語言模擬實(shí)現(xiàn)qsort,strcpy,strcat,strcmp函數(shù)

    利用C語言模擬實(shí)現(xiàn)qsort,strcpy,strcat,strcmp函數(shù)

    這篇文章主要為大家詳細(xì)介紹了如何通過C語言模擬實(shí)現(xiàn)qsort(采用冒泡的方式),strcpy,strcat,strcmp等函數(shù),文中的示例代碼講解詳細(xì),感興趣的可以了解一下
    2022-11-11
  • C++實(shí)操之內(nèi)聯(lián)成員函數(shù)介紹

    C++實(shí)操之內(nèi)聯(lián)成員函數(shù)介紹

    大家好,本篇文章主要講的是C++實(shí)操之內(nèi)聯(lián)成員函數(shù)介紹,感興趣的同學(xué)趕快來看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • C語言基礎(chǔ)雙指針移除元素解法

    C語言基礎(chǔ)雙指針移除元素解法

    這篇文章介紹了C語言基礎(chǔ)雙指針移除元素的解法,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-12-12

最新評(píng)論

建阳市| 金寨县| 稻城县| 临武县| 团风县| 河源市| 漯河市| 溧阳市| 新民市| 图木舒克市| 枣强县| 财经| 大关县| 安多县| 汤阴县| 雷州市| 鄂托克前旗| 万安县| 泽库县| 嫩江县| 九寨沟县| 望江县| 保山市| 南皮县| 宣恩县| 宣城市| 黄冈市| 秦安县| 忻城县| 襄垣县| 东港市| 东山县| 桂林市| 隆尧县| 鞍山市| 金乡县| 苏尼特右旗| 定安县| 洛宁县| 图木舒克市| 友谊县|