Просто пройдитесь по символам и проверьте пробелы (например, с помощью функции isspace
).
В качестве альтернативы, преобразуйте char*
в std::string
и используйте строковые функции, то есть find_first_not_of
. Например, используя «обычные» пробельные символы в кодировках до Unicode:
bool is_all_spaces(char const* text, unsigned len) {
string str(text, len);
return str.find_first_not_of(" \t\r\n\v\f") == string::npos;
}
Более причудливое распознавание пробелов могло бы справиться с произвольными кодировками / локалями текста. По этой причине использование isspace
, вероятно, лучше, чем find_first_not_of
.
В любом случае, использование memcmp
в C ++ в любом случае не рекомендуется, и вы, как правило, предпочитаете строки C ++ вместо массивов символов в стиле C.