Поиск пробела в строке

147
06 марта 2022, 20:50

При нахождение пробела в строке нужно завершить программу.

Что именно не так делаю?

for (i = 0; i < s.length(); i++)
{
    if (s.find(' '))
    {
        cout << "Найдем пробел";
        break;
    }
}
Answer 1

1) Здесь не нужен цикл. 2) find возвращает не bool, а число. string::npos если значение не найдено.

if (s.find(' ') != string::npos)
{
   cout << "Найден пробел";
}

Что бы завершить программу, можно использовать функцию exit например.

Answer 2

Потому что вы используете s.find() в цикле - поэтому вы будете получать ответ столько раз, сколько у вас символов в строке.

Функция find библиотеки string ищет последовательность заданных символов в заданной строке, и возвращает позицию первого вхождения.

Просто вынесите s.find() из цикла.

Answer 3

Я бы сделал не через фонд а циклом for(int I = 0; I < string.size(); i++) if(string[i] = ' ') Действие

READ ALSO
Варианты создания GUI в windows на C++

Варианты создания GUI в windows на C++

Начал недавно изучать C++ на windows, и сейчас мне очень интересно узнать от опытных людей - какие способы создания графического пользовательского...

107
Приоритеты c++-шаблонов

Приоритеты c++-шаблонов

Есть вот такой код:

82
Включать header файлы в .cpp, а не .h

Включать header файлы в .cpp, а не .h

Какое преимущество в билде от того, что header файлы будут включены вcpp, а не

76
Передать по jqery в laravel

Передать по jqery в laravel

подскажите пожалуйста Есть views и контроллер Как передать переменную в контроллер ,выполнить запрос и вернуть его в views К примеру по клике...

73