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

Копирование текста начиная с одного слова до определенного участка - C++

Восстановить пароль Регистрация
 
ExIM
2 / 2 / 0
Регистрация: 29.11.2012
Сообщений: 7
13.04.2013, 08:14     Копирование текста начиная с одного слова до определенного участка #1
Как можно скопировать текст из текстовика, который находится, например, после "STR21=" до знака "&" ?
Желательно, чтоб это было зацикленно, т.к в тексте часто встречаются различные запросы типа "STR21=Автор книги&" или "STR21=Последний запрос&".

Добавлено через 15 минут
Вобщем, требуется написать программу, которая бы из текстогого файла примерно такого типа: S21P05=Ключевые слова&002S21STR=Бухгалтерский учет&002S21P04=&002S21L0G=0&S21STR=Экономика Томска&002S21L0G, копировала текст, который находится после S21STR= до символа &, и находила бы количество вхождений запросов, примерно так:

Бухгалтерский учет - 25
Бухгалтерский журнал - 30
Экономика Томска - 6
Экономика Якутии - 1

И записывала бы эти данные в другой файл.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.04.2013, 08:14     Копирование текста начиная с одного слова до определенного участка
Посмотрите здесь:

C++ Выделить из строки s слов, начиная от слова с номером n
C++ tbb parallel_for чтение одного участка памяти разными потоками
Скопировать из одного символьного массива в другой, начиная с определенной позиции C++
C++ Считать из файла от определенного символа(слова) до определенного символа(слова)
Копирование из одной строки в другую n символов, начиная с символа номер s C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
 Аватар для zss
5942 / 5547 / 1783
Регистрация: 18.12.2011
Сообщений: 14,155
Завершенные тесты: 1
13.04.2013, 08:26     Копирование текста начиная с одного слова до определенного участка #2
C++
1
2
3
4
5
6
char text[]="S21P05=Ключевые слова&002S21STR=Бухгалтерский учет&002S21P04=&002S21L0G=0&S21STR=Экономика Томска&002S21L0G";
char p1=strstr(text,"STR21=");// р1 укажет на первое вхождение строки "STR21="
char p2=strstr(text,"&");// р2 укажет на первое вхождение строки "&"
// далее в цикле
p1=strstr(p1+6,"STR21=");// р1 укажет на следующее вхождение строки "STR21=" или NULL если нету
p2=strstr(p2+1,"&");// р2 укажет на следующее вхождение строки "&"
ExIM
2 / 2 / 0
Регистрация: 29.11.2012
Сообщений: 7
13.04.2013, 14:14  [ТС]     Копирование текста начиная с одного слова до определенного участка #3
Цитата Сообщение от zss Посмотреть сообщение
C++
1
2
3
4
5
6
char text[]="S21P05=Ключевые слова&002S21STR=Бухгалтерский учет&002S21P04=&002S21L0G=0&S21STR=Экономика Томска&002S21L0G";
char p1=strstr(text,"STR21=");// р1 укажет на первое вхождение строки "STR21="
char p2=strstr(text,"&");// р2 укажет на первое вхождение строки "&"
// далее в цикле
p1=strstr(p1+6,"STR21=");// р1 укажет на следующее вхождение строки "STR21=" или NULL если нету
p2=strstr(p2+1,"&");// р2 укажет на следующее вхождение строки "&"
Спасибо!
Но, не могли бы вы еще подсказать, как каждый новый запрос S21STR=*текст запроса*, записать в массив, и вывести на экран количество его повторений в тексте?
zss
Модератор
Эксперт С++
 Аватар для zss
5942 / 5547 / 1783
Регистрация: 18.12.2011
Сообщений: 14,155
Завершенные тесты: 1
13.04.2013, 19:27     Копирование текста начиная с одного слова до определенного участка #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
char massiv[MAXSTR][100];
int count=0;
char p1=strstr(text,"STR21=");// р1 укажет на первое вхождение строки "STR21="
char p2=strstr(text,"&");// р2 укажет на первое вхождение строки "&"
while(p1&&p2)
{
    int L=(int)(p2-p1);
    for(int i=0;i<L;i++)
        massiv[count][i]=p1[i];
    massiv[count][L]=0;
    p1=strstr(p1+6,"STR21=");// р1 укажет на следующее вхождение строки "STR21=" или NULL если нету
    p2=strstr(p2+1,"&");//   
}
karaush
0 / 0 / 0
Регистрация: 16.04.2013
Сообщений: 3
16.04.2013, 14:49     Копирование текста начиная с одного слова до определенного участка #5
Уважаемый студент первого курса, кафедры РЗИ! На ближайшем занятии любой алгоритм используемый в лабораторной работе, даже частично совпадающий с приведенными в данной теме, будет не засчитана, и Вам будет выдана лабораторная работа по новой теме! Желаю вам удачи! А. С. Карауш
ExIM
2 / 2 / 0
Регистрация: 29.11.2012
Сообщений: 7
16.04.2013, 22:27  [ТС]     Копирование текста начиная с одного слова до определенного участка #6
Цитата Сообщение от karaush Посмотреть сообщение
Уважаемый студент первого курса, кафедры РЗИ! На ближайшем занятии любой алгоритм используемый в лабораторной работе, даже частично совпадающий с приведенными в данной теме, будет не засчитана, и Вам будет выдана лабораторная работа по новой теме! Желаю вам удачи! А. С. Карауш
It's my fault.
Yandex
Объявления
16.04.2013, 22:27     Копирование текста начиная с одного слова до определенного участка
Ответ Создать тему
Опции темы

Текущее время: 05:39. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru