C++中寬字符類型的定義及使用


1. 寬字符類型的定義
    寬字符類型 wchar_t 是這樣來的:

typedef short int wchar_t;

    所以 wchar_t 實際上的空間是和 short int 一樣,占兩個字節。
    寬字符類型wchar_t常用來存儲中文、日文和韓文;
    使用前需包含頭文件,並聲明語言區域:

#include<locale>
setlocale(LC_ALL, "chs");//指定字符區域為中文

 2. 下面給出在VS2010,win32環境下寬字符類型和單字符類型的比較

#include<iostream>
#include<locale>
using namespace std;
int main()
{
 setlocale(LC_ALL, "chs");//指定字符區域為中文
 wchar_t st[] = L"中文的";
 char stc[] = "中文的";
 wcout<<st<<endl;//寬字符類型數組的內容:"中文的"
 cout<<stc<<endl;//單字符類型的內容:"中文的"
 cout<<st<<endl;//寬字符類型數組的地址
 cout<<&stc<<endl;//單字符類型的地址
 cout<<sizeof(st)<<endl;//寬字符類型數組的大小:3*2+2 = 8;
 cout<<sizeof(stc)<<endl;//單字符類型數組的大小:6*1+1 = 7;中文字符以兩個單字符存儲
 cout<<"------------------------------"<<endl;
 cout<<sizeof(char)<<endl;
 cout<<sizeof(wchar_t)<<endl;
 return 0;
 }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM