#c #locale #whitespace #isspace
#c #язык #пробел #isspace
Вопрос:
Является ли std::isspace противоположностью std::isgraph в C (версии локали)? То есть верно ли следующее?
char c = getCharFromSomewhere();
std::locale loc = getLocaleFromSomewhere();
std::isspace(c, loc) != std::isgraph(c, loc)
Они кажутся истинными, когда я тестирую, но я не могу быть уверен, что это верно во всех локалях.
Комментарии:
1. Я бы сказал, нет. Существуют управляющие символы, например
'a'
, которые не являются пробелами и не являются графическими. Смотритеstd::isgraph
, особенно на диаграмму внизу.2.
graph
определяется какalnum | punct
, но есть такжеcntrl
и