C++ Standard: character sets
От: OlegMax  
Дата: 11.02.15 08:15
Оценка:
Правильно ли я понимаю, что:
1. Стандарт C++ не указывает порядок кодов символов в execution character sets? То есть (c >= '0' && c <= '9'), строго говоря, не переносимо.
2. Коды символов char и wchar_t не обязаны совпадать даже для символов из basic source character set (цифры, буквы, скобки всякие)? То есть char ch = '['; wchar wch = ch; непереносимо?
Re: C++ Standard: character sets
От: Tilir Россия http://tilir.livejournal.com
Дата: 11.02.15 09:07
Оценка:
Здравствуйте, OlegMax, Вы писали:

OM>1. Стандарт C++ не указывает порядок кодов символов в execution character sets? То есть (c >= '0' && c <= '9'), строго говоря, не переносимо.


Совершенно точно. Для этого даже есть специальный хедер ctype.h. Переносимый способ сделать то, что вы написали это
if (isdigit (c)) /* ... */


OM>2. Коды символов char и wchar_t не обязаны совпадать даже для символов из basic source character set (цифры, буквы, скобки всякие)? То есть char ch = '['; wchar wch = ch;

непереносимо?

Да. Опять-таки есть стандартные средства:

mbtowc (&wch, &ch, 1);
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.