Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Ascold
1 / 1 / 0
Регистрация: 27.01.2015
Сообщений: 116
Завершенные тесты: 1
#1

Как остановить цикл при окончании строки string - C++

26.11.2015, 13:36. Просмотров 261. Ответов 3
Метки нет (Все метки)

Пробую разделять на слова, разделенные пробелом строку string. Внутренний код цикла работает исправно, но сам цикл не останавливается (выводит пробелы после того, как вывел слова). Как остановить этот цикл после полного разделения строки?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
void Split(string str)
{
    string separ(" ");
    string temp = str;
    while (true) {
        int pos = temp.find(separ); // Позиция первого символа строки-разделителя.
        if (pos != 0) {
            string word = temp.substr(0, pos); // Строка до разделителя.
            cout << word << endl;
            temp = temp.substr(pos + separ.length()); // Строка после разделителя.
        }
        else
            break;
    }
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.11.2015, 13:36     Как остановить цикл при окончании строки string
Посмотрите здесь:

Как остановить цикл при вводе enter? - C++
#include &lt;iostream&gt; using namespace std; int main() { for (;;) { //как остановить цикл при вводе enter ...

Как остановить цикл при прекращении ввода - C++
Как остановить цикл, если не было введено числа(2 раза нажать Enter )? #include&lt;iostream&gt; using namespace std; void main() { ...

как остановить цикл ? - C++
у меня есть цикл : do{ cout&lt;&lt;&quot;vvedite celoe chislo: &quot;&lt;&lt;endl; cin&gt;&gt;a; for(i=0; i&lt;47; i++) if (a%mas==0) ...

Выйти из цикл по окончании всех строк в файле - C++
Привет Всем буду Благодарен за все ответы. Программа открыает TXT файл и поочередно считывает строки из него.Все в принципе...

Как можно считывать из строки (std::string или char*) данные при помощи cin - C++
Как можно считывать из строки (std::string или char*) данные при помощи cin (или может есть какой-нибудь поток-обертка?), как sscanf из...

Остановить цикл ввода последовательности, если введенное значение равно нулю. - C++
В простую переменную последовательно вводятся числа. Окончание ввода 0. Сколько чисел больше своих соседей слева и справа. Вопрос в том как...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
6321 / 5905 / 1913
Регистрация: 18.12.2011
Сообщений: 15,181
Завершенные тесты: 1
26.11.2015, 13:40     Как остановить цикл при окончании строки string #2
C++
1
2
3
4
5
6
7
8
#include <sstream>
void Split(string str)
{
    istringstream ss(str);
    string word;
    while (ss>>word)
            cout << word << endl;
}
Ascold
1 / 1 / 0
Регистрация: 27.01.2015
Сообщений: 116
Завершенные тесты: 1
26.11.2015, 13:48  [ТС]     Как остановить цикл при окончании строки string #3
Да, но istringstream не учитывает разделителем знаки препинания, только пробелы.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.11.2015, 13:58     Как остановить цикл при окончании строки string
Еще ссылки по теме:

Ошибка при посимвольной записи из строки char в строку string - C++
Это фрагмент конструктора класса: ifstream fin(&quot;client.txt&quot;); const int n = 80; char buf; fin.getline(buf,...

Компилятор выдает предупреждение при инициализации строки:deprecated conversion from string constant to char* - C++
#include &lt;iostream&gt; using namespace std; int main() { char *s=&quot;abcd&quot;; cout &lt;&lt; s &lt;&lt; endl; // prints !!!Hello World!!! return...

Строки STRING - как присвоить в S - B - C++
Всем Привет, не знаю как присвоить в S - B , помогите плиз) #include &lt;iostream&gt; int a; using namespace std; int main() { ...

Как сравнить две строки типа string? - C++
C типом char все просто. Поиск по Фамилии и имени. char name,name1,address, dom; int h=0; cout&lt;&lt;&quot;Введите Фамилию &quot;; ...

Как вычленить цифры из строки std::string? - C++
Кто подскажет как из строки выделить цифры тоесть имеются строки сссщ1 сссщ2 сссщ3 и так далее вплоть до 999 как вычленить цифры из...

Как вернуть цикл на начало строки? - C++
Есть задание: найти количество отрицательных элементов матрицы в строках, где есть хотя бы один нулевой элемент. Когда находит этот...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
nmcf
5251 / 4571 / 1535
Регистрация: 14.04.2014
Сообщений: 18,181
26.11.2015, 13:58     Как остановить цикл при окончании строки string #4
C++
1
if (pos != string::npos) {
Yandex
Объявления
26.11.2015, 13:58     Как остановить цикл при окончании строки string
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru