Употреба на wchar_t в C++

t0shk0

Registered
Вчера ми стана интересно за какво точно се използва wchar_t, потърсих в нета, но честно казано пак не разбрах точно кога се използва. Пълното му име е Wide character. Ако някой е по-запознат от мен ще му бъда много благодарен ако обясни употребата на този тип от данни.
 
t0shk0 каза:
Вчера ми стана интересно за какво точно се използва wchar_t, потърсих в нета, но честно казано пак не разбрах точно кога се използва. Пълното му име е Wide character. Ако някой е по-запознат от мен ще му бъда много благодарен ако обясни употребата на този тип от данни.

Свързано е с употребата на unicode стрингове. Стандартния C стринг е char* (масив от char елементи). Char типа e един байт, но unicode изисква една буква да е записана с повече от 1 байт. Следователно char* не може да се използва за Unicode стрингове.

И за това някъде ползват wchar_t - това е буква с размер > 1 байт (зависи от компилатора точно толко - затова и не е много добре да се ползва точно това).

ПП. Това не е UTF-8. Разликата е, че при UTF-8 може да имаш някакви букви дето да са по един байт, други по 2, трети по 3. Използвайки wchar_t всички букви са с фиксиран размер в байтове.
 

Back
Горе