Я хочу проверить, содержит ли моя строка два последовательных пробела. Какой самый простой способ узнать?
Используйте метод find() из std::string. Возвращает специальную константу std::string::npos, если значение не было найдено, поэтому легко проверить:
find()
std::string
std::string::npos
if (myString.find(" ") != std::string::npos) { cerr << "double spaces found!"; }
Это одна из любимых тем Джона Скита: см. Эту презентацию
#include <string> bool are_there_two_spaces(const std::string& s) { if (s.find(" ") != std::string::npos) { return true; } else { return false; } }
string s = "foo bar"; int i = s.find(" "); if(i != string::npos) cout << "Found at: " << i << endl;
Использование C:
#include <cstring> ... addr = strstr (str, " "); ...
Make search for " " in the string.