как работает тип данных wchar_t c?

Я знаю, что это не встроенный тип данных. В C ++ я понимаю, что мы можем создать тип данных, который выглядит и действует почти как базовый тип данных. Но в Си я не понимаю, как это работает аналогично базовому типу данных.

-5

Решение

I know it is not a standard data type

Да, его стандарт (описан в <stddef.h>)

wchar_t
Интегральный тип, диапазон значений которого может представлять различные коды широких символов для всех членов самого большого набора символов
указывается среди локалей, поддерживаемых средой компиляции:
нулевой символ имеет кодовое значение 0 и каждый член
Портативный набор символов имеет значение кода, равное его значению при использовании
как одиночный символ в целочисленной символьной константе.

But in C I don't understand how it works similar to basic data type.

Используйте функции и макросы wchar.h заголовок

0

Другие решения

В С, wchar_t является typedef для целочисленного типа, определенного в <stddef.h> (и, возможно, другие заголовки).

См. Стандарт, раздел 7.17 ( http://port70.net/~nsz/c/c99/n1256.html#7.17 )

wchar_t является целочисленным типом, диапазон значений которого может представлять различные коды для всех членов наибольшего расширенного набора символов, указанного среди поддерживаемых локалей; нулевой символ должен иметь нулевое значение кода.

0

Стандарты C ++ 11 и C11 признают wchar_t как стандартный тип данных «широкий символ».

Стандарт C11 определяет семантику wchar_t в 7.19 / 2:

Типы […] и
wchar_t
который является целочисленным типом, диапазон значений которого может представлять различные коды для всех членов самого большого расширенного набора символов, указанного среди поддерживаемых локалей; нулевой символ должен иметь нулевое значение кода. Каждый член базового набора символов
должно иметь значение кода, равное его значению при использовании в качестве одиночного символа в целом числе
символьная константа, если реализация не определяет
__STDC_MB_MIGHT_NEQ_WC__,

В то время как стандарт C ++ 11 говорит в 3.9.1 / 5:

Тип wchar_t это отдельный тип, значения которого могут представлять разные коды для всех членов самого большого
расширенный набор символов, указанный среди поддерживаемых локалей (22.3.1). Тип wchar_t должен иметь то же самое
требования к размеру, подписи и выравниванию (3.11) как один из других интегральных типов, называемых его основными
тип. […]

0
По вопросам рекламы [email protected]