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

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

Войти
Регистрация
Восстановить пароль
 
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. Просмотров 144. Ответов 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*

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

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

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

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

Почему std::string_view МЕДЛЕННЕЕ, чем std::string? - C++
Всем привет! Нужно найти количество уникальных строк в больших текстовых файлах (размером до нескольких гигабайт). Почему в...

Как привести std::wstring к std::string? - C++
Как привести std::wstring к std::string?

Здравствуйте! Создал класс std::string. Не создается объкт типа string... Подскажите в чем причина? - C++
#include &lt;stdlib.h&gt; #include &lt;iostream&gt; #include &lt;string.h&gt; //using namespace std; class string { private: int...

All_of и stoi не члены std? - C++
#include &lt;iostream&gt; #include &lt;string&gt; #include &lt;algorithm&gt; //std::all_of #include &lt;stdlib.h&gt; //atoi void menu(){ ...

std::string -> std::wstring - C++
Как перевести данный код в код с использованием wstring ( посути использовать std::vector&lt;std::wstring&gt; refs; ) #include &lt;vector&gt; ...

std::string + std::remove - C++
#include &lt;iostream&gt; #include &lt;string&gt; #include &lt;algorithm&gt; int main() { std::string str(&quot;hello, world. have a nice...

'string' : undeclared identifier, std::string - C++
#include &lt;regex&gt; #include &lt;string&gt; #include &lt;vector&gt; std::vector&lt;string&gt; Tokenize( const string str, const std::regex regex ) { ...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
meJevin
155 / 147 / 58
Регистрация: 18.11.2015
Сообщений: 644
Завершенные тесты: 1
14.03.2016, 14:50     Функции-члены std::string - finde_first_of() и finde_first_not_of() #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
хммм, я ща посмотрел, кажется, что он пропускает первый найденный символ из delim.
типа, у нас есть "1/2/3/4/5" , где delim = '/', он нашел после единицы /, потом после двойки он его пропускает, но находит после тройки и т.д. ща покопаюсь, попробую узнать, что не так.

Добавлено через 16 минут
нашел!
C++
1
myV.push_back(line.substr(begIdx, endIdx-begIdx));
Добавлено через 1 минуту
строка 24 у тебя. там ты вместо длины строки будущей (что есть разность конца и начала) указал конец)
Aleks_Tret
9 / 9 / 6
Регистрация: 25.10.2014
Сообщений: 52
14.03.2016, 14:50  [ТС]     Функции-члены std::string - finde_first_of() и finde_first_not_of() #3
Спасибо огромное, без вас не смог заметить. Хорошо что можно спросить.
Я понял в чем я ошибся.
Yandex
Объявления
14.03.2016, 14:50     Функции-члены std::string - finde_first_of() и finde_first_not_of()
Ответ Создать тему
Опции темы

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