Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

Wide Char และฟังก์ชันไลบรารีใน C++

ในส่วนนี้เราจะเรียนรู้เกี่ยวกับ Wide Character ใน C++ และฟังก์ชันสำหรับจัดการ Wide Character

Wide Character คล้ายกับชนิดข้อมูล char แต่ char ใช้พื้นที่ 1 ไบต์ ส่วน Wide Character ใช้ 2 ไบต์ (หรือ 4 ไบต์ ขึ้นอยู่กับคอมไพเลอร์) ด้วยพื้นที่ 2 ไบต์ จึงสามารถจัดเก็บตัวอักษรได้ 64K (65536) ตัวอักษร ทำให้ Wide Char รองรับตัวอักษร 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 สำหรับรับค่า

เราสามารถสร้างอาร์เรย์ Wide Character และพิมพ์เป็นสตริงได้

ตัวอย่าง

#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

ตารางฟังก์ชันสำหรับ Wide Characters:

ฟังก์ชันคำอธิบาย
wcslen()หาความยาวของสตริง Wide Character
wcscat()ต่อสตริงต้นทางเข้ากับสตริงปลายทาง
wcscpy()คัดลอกสตริงต้นทางไปยังปลายทาง
wcsncpy()คัดลอก n ตัวอักษรแรกจากต้นทางไปปลายทาง
wcscmp()เปรียบเทียบสองสตริง Wide Character เหมือน strcmp()
wcsstr()หาตำแหน่งแรกของสตริงย่อยในสตริงหลัก คืนค่า NULL ถ้าไม่พบ
wcstok()แบ่งสตริงเป็นโทเคนด้วยตัวคั่น เหมือน strtok()