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

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

Войти
Регистрация
Восстановить пароль
 
FireUnix
19 / 19 / 6
Регистрация: 04.03.2013
Сообщений: 146
#1

Работа со строками, поиск, запись - C++

16.06.2013, 20:11. Просмотров 299. Ответов 4
Метки нет (Все метки)

Дорогие друзья, пишу программу. При написании возникли проблемы, а точнее столь слабые познания в с++.
Имеем .xml файл вида:
XML
1
2
3
4
5
6
7
    
    <Cell><Data ss:Type="String">элемент 1001</Data></Cell>
    <Cell><Data ss:Type="String">элемент 100111</Data></Cell>
    <Cell><Data ss:Type="String">элемент 10012</Data></Cell>
    <Cell><Data ss:Type="String">элемент 1001411</Data></Cell>
    <Cell><Data ss:Type="String">элемент 10011</Data></Cell>
    <Cell><Data ss:Type="String">элемент 1001221</Data></Cell>
После некоторых попыток я разобрался с getline, теперь в переменную считываются строки вместе с пробелами.
Вот сама задача: Как только в строке находится слово "Элемент", в массив должно считаться значение элемента, а именно "1001", и так со всего файла.
Пробовал через find, но так как плохо разобрался ничего дельного не вышло, так же пытался работать с char массивом, то есть поэлементно сверял и клал в переменную, но так как размер значения можеть быть любым, мой алгоритм был слишком хрупким, и часто вылетал. Может у кого нибудь есть мысли по этому поводу?

Добавлено через 3 часа 55 минут
Вправду никто не знает?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.06.2013, 20:11
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Работа со строками, поиск, запись (C++):

Работа со строками,поиск предложений. - C++
Доброго вечера. Пытаюсь написать программу выводящую из тхт. фаила все предложения начинающиеся с вводимой буквы. #include...

Работа со строками, поиск нужных элементов и их вывод - C++
Дана строка, состоящая из групп нулей и единиц. Подсчитать количество единиц в группах с нечетным количеством символов. Вот попробовал,...

Задача со строками; запись в файл - C++
1. Написать программу, которая, считывает текст из файла, находит самое длинное слово и определяет, сколько раз оно встретилось в тексте....

Работа со строками - C++
Дана последовательность, содержащая от 2 до 50 слов, в каждом из которых от 1 до 8 строчных (маленьких) латинских букв; между соседними...

Работа со строками C++ - C++
Задание: Запросить у пользователя массив из 10 строк и вывести на экран те, которые равны слову «Ура». #include &quot;stdafx.h&quot; #include...

Работа со строками - C++
Подсчитать количество вхождений слова «мама» в строку и вывести номера первых позиций этих вхождений. Если этого слова в строке нет, то...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
NeonLost
Пес войны
74 / 85 / 3
Регистрация: 23.02.2012
Сообщений: 653
16.06.2013, 21:36 #2
C++
1
2
3
4
5
6
7
8
string GetBetween(string target, string left, string right)
{
    size_t begin = target.find(left);
    size_t end = target.find(right, begin+left.size());
    if(begin==string::npos || end==string::npos) return "";
    begin += left.size();
    return target.substr(begin, end - begin);
}
либо регулярками...)
FireUnix
19 / 19 / 6
Регистрация: 04.03.2013
Сообщений: 146
16.06.2013, 22:01  [ТС] #3
Оххх, загнул))) Буду разбираться в твоем примере((( Спасибо, хоть направил в сторону...
NeonLost
Пес войны
74 / 85 / 3
Регистрация: 23.02.2012
Сообщений: 653
16.06.2013, 22:09 #4
Цитата Сообщение от FireUnix Посмотреть сообщение
Оххх, загнул))) Буду разбираться в твоем примере((( Спасибо, хоть направил в сторону...
ну я думаю понятно, что вытаскивает содержимое между двух строк...)
пример использования...)
C++
1
2
getline(file,line);
string element = GetBetween(line, "<Cell><Data ss:Type=\"String\">элемент ", "</Data></Cell>")
FireUnix
19 / 19 / 6
Регистрация: 04.03.2013
Сообщений: 146
16.06.2013, 22:12  [ТС] #5
Да да, большое спасибо, выручил)))
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.06.2013, 22:12
Привет! Вот еще темы с ответами:

Работа со строками - C++
Доброго времени суток! Пробую создать программу, которая разделяет строку на слова, убирает из них последующие включения первой буквы, и...

Работа со строками - C++
Прошу помочь написать код для двух программ: 1) Написать программу подсчета числа слов в строке *) 2) написать программу подсчета букв...

Работа со строками - C++
Задание &quot;Есть строка, состоящая из слов, разделенных любым количеством пробелов. При введении русского текста, пользователь забыл...

Работа со строками - C++
Подскажите пожалуйсто!!! Как удалить часть строки не создавая при этом новой строки?


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
16.06.2013, 22:12
Ответ Создать тему
Опции темы

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