Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
Aleks_Tret
9 / 9 / 6
Регистрация: 25.10.2014
Сообщений: 52
#1

Функции-члены std::string - finde_first_of() и finde_first_not_of() - C++

14.03.2016, 13:02. Просмотров 161. Ответов 2
Метки нет (Все метки)

Помогите пожалуйста увидеть мне, мою ошибку.
Я написал
Кликните здесь для просмотра всего текста

http://cpp.sh/7szcv
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <iostream>
#include <string>
#include <sstream>
#include <vector>
#include <iterator>
 
using std::string;
 
int main()
{
    std::stringstream myStream;
    myStream << std::string("first second.thrid;fourth\tfifth");
    string line;
    while (std::getline(myStream, line));
    std::vector<string> myV;
    string delim(",.:; \t");
    string::size_type begIdx{}, endIdx{};
    
    begIdx = line.find_first_not_of(delim);
    while (begIdx != string::npos) {
        endIdx = line.find_first_of(delim, begIdx);
        if (endIdx == string::npos)
            endIdx = line.length();
        myV.push_back(line.substr(begIdx, endIdx));
        begIdx = line.find_first_not_of(delim, endIdx);
    }
    //Некоретно работает find_first_of ???
    
    std::copy(myV.cbegin(), myV.cend(),
        std::ostream_iterator<string>(std::cout, "*"));
}

В потоке вывода я хотел получить : first*second*third*fourth*fifth*
А получаю : first*second.thrid*thrid;fourth fifth*fourth fifth*fifth*

Где я ошибся?
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.03.2016, 13:02
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Функции-члены std::string - finde_first_of() и finde_first_not_of() (C++):

std::async std::future и функции-члены - C++
как в async передать функцию-член нужного мне обьекта класса? С простыми функциями получилось, а вот тут засада. Заранее спасибо за...

ошибка error: cannot convert 'std::string {aka std::basic_string<char>}' to 'std::string* {aka std::basic_stri - C++
на вод поступают 2 строки типа string. определить количество вхождений строки 2 в строку 1 ошибка error: cannot convert 'std::string {aka...

Передача функции указатель на элемент std::vector<std::string> - C++
Доброй ночи тем, кому не спится (или живет в другом часовом поясе:p)! Есть функция, требующая в качестве параметра указатель на...

запрошено преобразование от ‘const std::string*’ к нескалярному типу ‘std::string’ - C++
private: std::string firstName; }; std::string ClientData::getFirstName() const{ return firstName; } Дает в итоге...

На основе исходного std::vector<std::string> содержащего числа, создать std::vector<int> с этими же числами - C++
подскажите есть вот такая задача. Есть список . Создать второй список, в котором будут все эти же числа, но не в виде строк, а в виде...

Функция isspace и тип string: Не существует подходящей функции преобразования из "std::string" в "int" - C++
Добрый день! Я только начинаю изучать язык c++ по книге &quot;Язык программирования С++. Базовый курс 5-е изд 2014(Стэнли Б. Липпман)&quot;. ...

2
meJevin
156 / 148 / 58
Регистрация: 18.11.2015
Сообщений: 672
Завершенные тесты: 1
14.03.2016, 14:50 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
хммм, я ща посмотрел, кажется, что он пропускает первый найденный символ из delim.
типа, у нас есть "1/2/3/4/5" , где delim = '/', он нашел после единицы /, потом после двойки он его пропускает, но находит после тройки и т.д. ща покопаюсь, попробую узнать, что не так.

Добавлено через 16 минут
нашел!
C++
1
myV.push_back(line.substr(begIdx, endIdx-begIdx));
Добавлено через 1 минуту
строка 24 у тебя. там ты вместо длины строки будущей (что есть разность конца и начала) указал конец)
1
Aleks_Tret
9 / 9 / 6
Регистрация: 25.10.2014
Сообщений: 52
14.03.2016, 14:50  [ТС] #3
Спасибо огромное, без вас не смог заметить. Хорошо что можно спросить.
Я понял в чем я ошибся.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.03.2016, 14:50
Привет! Вот еще темы с ответами:

Не существует подходящей функции для преобразования из std::string в LPCTSTR - C++
Ошибка: не существует подходящей функции для преобразования из std::string в LPCTSTR. Как это можно исправить или по другому как-то...

Реализация класса MyString. Стандартная библиотека, std::string, std::vector - C++
как добавить реализацию конкатенации строк через перегрузку оператора &quot;+=&quot; в классе MyString и почему ошибка выдается???#include...

Операция std::cout для Объекта типа std::string - C++
Кто детально объяснит почему не выводит ? Дает вот так &quot;Отсутствует оператор &quot;&lt;&lt;&quot;, соответствующий этим операндам&quot; void...

Как правильно перевести std::wstring в std::string ? - C++
Собственно как? :)


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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