Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
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++ Найти сумму четных цифр трехзначного числа Здравствуйте! Помогите, как написать чтоб найти сумму четных цифр трехзначного числа? подробнее
Bend3r
149 / 136 / 35
Регистрация: 29.07.2012
Сообщений: 709
16.01.2014, 17:59 0

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

16.01.2014, 17:59. Просмотров 2460. Ответов 12
Метки (Все метки)

Ответ

Цитата Сообщение от nill Посмотреть сообщение
Bend3r, С функцией проблема
она не работает если разделитель не писать текстом "1234", а передавать через переменную
Вы как всегда не внимательны. Вот я вам переделал чтоб разделитель был в виде переменной.
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
#include <windows.h>
#include <string.h>
#include <iostream.h>
//----------------------------------------
using namespace std;
 
//------------------------------------------------------------------------------
void main()
{
string str = "Hello1234kak dela1234ahah1234";
string razdel = "1234";
char buff[50];
strcpy(buff,str.c_str());  //присвоение string в char
string massiv[10];      //ваш массив
int q = -1;
char * p = strtok(buff,razdel.c_str());    //разбитие на лексемы
while (p!=0){                    //проверка
    ++q;
    massiv[q] = p;        //присвоение в массив новой лексемы до '|'
    p = strtok(NULL,razdel.c_str());       //переход к следующей
}
for (int i = 0; i <= q; i++) {
    cout << massiv[i].c_str() << endl;
}
 
system("pause");
}
Добавлено через 7 минут
По поводу того как решить проблему, если встречается первый символ разделителя и он разделяет, я пока думаю, но возможно этот способ и не подойдет. А так лучше разберитесь с регулярными выражениями.

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

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

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

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

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