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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
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 / 0
Регистрация: 16.08.2009
Сообщений: 417
17.01.2014, 13:46  [ТС]
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;}
 
    }
 
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru