Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Блок-Схема http://www.cyberforum.ru/cpp-beginners/thread1070558.html
Помогите пожалуйста составить блок-схему! Не как сам не могу разобраться( #include <stdlib.h> #include <conio.h> #include <stdio.h> #include <time.h> #include <locale.h> #include <math.h> ...
C++ Цифры после запятой Доброго времени. Есть код, в котором переменная res в итоге равняется, к примеру 27,5 (float). Мне нужно вывести в файл результат с 3-мя знаками после запятой: 27,500. В итоге выводит 27,5, даже с... http://www.cyberforum.ru/cpp-beginners/thread1070510.html
C++ Закрыть форму и остановить выполнение вечных циклов
Если закрываю приложение во время исполнения цикла while (true) или иного цикла, условие выхода из которого не зависит от моего приложения, программа продолает висеть в процессах. Вопрос, как...
Самоучитель C++
Здравствуйте, Уважаемые Форумчане! Мне нужна Ваша помощь. Как вы наверно уже догадались, мне нужен самоучитель. Критерий самоучителя: 1)Учебник должен быть для начинающих программистов. 2) Учебник...
C++ По заданным целым координатам точек на плоскости определить фигуру http://www.cyberforum.ru/cpp-beginners/thread1070386.html
По заданным целым координатам точек на плоскости определить фигуру, соединив точки в порядке ввода мы можем получить: четырехугольник с самопересечением выпуклый четырехугольник трапеция...
C++ Найти сумму четных цифр трехзначного числа Здравствуйте! Помогите, как написать чтоб найти сумму четных цифр трехзначного числа? подробнее
DiffEreD
1442 / 779 / 257
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
13.01.2014, 22:34 0

Как разделить строку(аналог функции explode)

13.01.2014, 22:34. Просмотров 2456. Ответов 12
Метки (Все метки)

Ответ

Если имеется boost, то очень просто:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include <vector>
#include <string>
#include <boost/algorithm/string.hpp>
 
int main()
{
   std::string s = "1234|5678|ABCD|0000";
   std::vector<std::string> result;
 
   boost::split(result, s, boost::algorithm::is_any_of("|"));
   for(auto& str : result) std::cout << str << "\n";
}
Добавлено через 49 секунд
А иначе надо повозится.

Добавлено через 6 минут
Еще такое надумал:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <iterator>
#include <sstream>
#include <vector>
#include <string>
#include <algorithm>
 
int main()
{
   std::string s = "1234|5678|ABCD|0000";
 
   std::replace(s.begin(), s.end(), '|', ' ');
   std::istringstream iss(s);
   std::vector<std::string> result;
   std::copy(std::istream_iterator<std::string>(iss),
             std::istream_iterator<std::string>(),
             std::back_inserter(result));
 
   for(auto& str : result) std::cout << str << "\n";
}


Вернуться к обсуждению:
Как разделить строку(аналог функции explode)
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.01.2014, 22:34

Как лучше всего разделить строку на несколько подстрок?
Есть строка вида параметр1*параметр2*параметр3*параметр4. Как разделить эту строку, чтобы получить...

Аналог рекурсивной функции, отображающей строку в обратном порядке, выводит "мусор"
Добрый день, при попытке написать аналог рекурсивной функции отображающей строку в обратном порядке...

Аналог explode или как еще распарсить строку
Подскажите, есть ли в дельфи аналог php-функции explode? После запроса мне приходит ответ от...

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