Для C ++ 11 вы можете проверить, является ли строка пробелом, используя std::all_of
и isspace
(isspace проверяет пробелы, табуляции, новую строку, вертикальную табуляцию, подачуи возврат каретки:
std::string str = " ";
std::all_of(str.begin(), str.end(), isspace); //this returns true in this case
, если вы действительно хотите проверить только пространство символов, то:
std::all_of(str.begin(), str.end(), [](const char& c) { return c == ' '; });