Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
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++ Найти сумму четных цифр трехзначного числа Здравствуйте! Помогите, как написать чтоб найти сумму четных цифр трехзначного числа? подробнее
nill
10 / 10 / 2
Регистрация: 16.08.2009
Сообщений: 418
17.01.2014, 13:46  [ТС] 0

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

17.01.2014, 13:46. Просмотров 2414. Ответов 12
Метки (Все метки)

Ответ

Bend3r,
Сейчас проверил, передача разделителя в функцию через переменную работает, а если встречается символ разделителя опять то же самое.

Моя функция работает как надо, но это почему то очень медленный способ не знаю как его оптимизировать.

С регулярными выражениями я еще больше буду разбираться лучше как то отладить одну из двух функций.

Добавлено через 17 часов 37 минут
В общем разобрался сам
использовать преобразование char в string было ошибкой нужно использовать функции самого string

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
void explode_string(string str, string razdelitel, string result_mass[200]){
 
    int dlinna_razdelitela=razdelitel.length();
    size_t pos;
    size_t pos1;
    int n=0, ot=0, doo=0, dlinna=0;
 
    for (int i=0; i<str.length(); i++){
 
        pos = str.find(razdelitel, i);
        if (pos != string::npos){
 
            pos1 = str.find(razdelitel, pos+1);
 
            ot=pos+dlinna_razdelitela;
            doo=pos1;
            dlinna=doo-ot;
 
            if (pos1 != string::npos){result_mass[n] = str.substr (ot,dlinna);}
            else{result_mass[n] = str.substr (ot);}
 
            n++;
            
 
            i=pos+dlinna_razdelitela;}
 
    }
 
}


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

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

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

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

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