Wide char in C++ is a data type like char, int, string, float, and more. Wide char is another data type that caters to character-type data. However, it is much different from the char data type.
The following table represents the differences between a char data type and a wide char data type:
Char | Wide Char |
Takes up one byte of memory | Takes up two or four bytes of memory. Depends on the compiler |
Can take upto 256 values | Can take upto 65536 values |
Corresponds to ASCII value | Corresponds to UNICODE value |
We can use the wide char using the following syntax:
wchar_t <variable name> = L<char val>;
The wchar_t keyword is used to declare a variable of type wide char.
The L prefix is used before the character data to inform the compiler that the following data is of type wide char.
Let's understand how wide char variables are used in a C++ program:
#include <iostream>using namespace std;int main() {wchar_t x = L'E';wcout << x << endl;//size of wide charwcout << sizeof(x);}
Line 5: We declare a wide char type and initialize with the value 'E'.
Line 6: We use wcout to display the value of a wide char. The w prefix is used before every char type function to make it work with wide char data types, for example, wcout, wcin, and more.
Line 7: The sizeof() function returns the size in bytes of the wide char variable.
We can also create strings with a wide char array:
#include <iostream>using namespace std;int main() {wchar_t wideCharArray[] = L"Educative";wcout<<wideCharArray;}
Just like a char array, wchar_t arrays can also store strings, and wcout can display this array as a string.
Free Resources