C++ 中的寬字元和庫函式
在本節中,我們將瞭解 C++ 中的寬字元是什麼。我們還將瞭解一些用於處理寬字元的函式。
寬字元類似於字元資料型別。主要區別在於 char 佔用 1 個位元組的空間,而寬字元佔用 2 個位元組(有時根據編譯器佔用 4 個位元組)的記憶體空間。對於 2 個位元組的空間,寬字元可以容納 64K(65536)個不同的字元。因此,寬字元可以容納 Unicode 字元。Unicode 值是國際標準,允許對幾乎所有語言的字元進行編碼。
示例
#include<iostream>
using namespace std;
int main() {
wchar_t wide_character = L'a';
cout << "The wide character is: " << wide_character << endl;
cout << "Wide character size: " <<sizeof(wide_character);
}輸出
The wide character is: 97 Wide character size: 2
我們可以看到,要建立寬字元,必須在字元字面量之前新增“L”。但是,使用 cout 輸出時,字元值不會顯示在輸出中。因此,要使用寬字元,必須使用 wcout,並且要獲取輸入,必須使用 wcin。
我們可以建立一些寬字元陣列,並將其列印為字串。
示例
#include<iostream>
using namespace std;
int main() {
char str1[] = "This is character array";
cout << str1 << endl;
wchar_t str2 [] = L"This is wide character array";
wcout << str2;
}輸出
This is character array This is wide character array
現在讓我們看看一些用於寬字元的函式。
| 函式 | 描述 |
|---|---|
| wcslen() | 語法為 size_t wcslen (const wchar_t* wcs); 此函式用於獲取寬字元字串的長度。 |
| wcscat() | 語法為:wchar_t *wcscat(wchar_t *strDest, const wchar_t *strSrc); 此函式用於將源字串連線到目標字串。 |
| wcscpy() | 語法為 wchar_t *wcscpy(wchar_t *strDest, const wchar_t *strSrc); 它有助於將源字串複製到目標字串。 |
| wcsncpy() | 語法為 wchar_t* wcsncpy(wchar_t* dest, const wchar_t* src, size_t n); 此函式用於將源的前 n 個字元複製到目標。當源的結尾小於 n 時,目標中將包含一些空字元。 |
| wcscmp() | 語法為 int wcscmp(const wchar_t* wcs1, const wchar_t* wcs2); 此函式用於比較兩個寬字元字串 wcs1 和 wcs2。它類似於用於普通字串比較的 strcmp() 函式。 |
| wcsstr() | 語法為 const wchar_t* wcsstr (const wchar_t* wcs1, const wchar_t* wcs2); 此函式用於查詢 wcs2 在 wcs1 中的第一次出現。如果不存在,則返回 null。 |
| wcstok() | 語法為 wchar_t* wcstok( wchar_t* str, const wchar_t* delim, wchar_t ** ptr); 此函式類似於 strtok()。它有助於對使用寬字元建立的字串進行標記化。它使用分隔符對字串進行標記化。 |
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP