С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
 Аватар для hahanov
1 / 1 / 0
Регистрация: 16.07.2014
Сообщений: 30

Поиск подстроки между заданными символами

03.08.2014, 21:27. Показов 1613. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Написал код на C++, он ищет символы между символами введёнными в Edit и ".txt" . Всё вроде бы работает,но он ищет символы всего лишь один раз...
Наверное всё легко и просто (да и код простой), однако найти ошибку я не могу...
В чём проблема почему не ищет второй раз?
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
30
31
32
33
34
35
36
37
38
39
40
41
char slova[1000];
int d=0;
AnsiString log0=Edit1->Text;  // Введённое в Edit1 == "bnv243.txt bnv355.txt" 
 char* log00=log0.c_str();
  AnsiString log7=Edit2->Text; // Введённое в Edit2 == "bnv"
 char* log77=log7.c_str();
 size_t i;
 size_t g;
 char *pos2;
 char *pos;
 int mon=0;
    for(;;){
 
   pos=strstr(log00,log77);
    if (pos!=NULL){
      i=pos-log00;
       for(;;){
       slova[d]=log00[i];
       log00[i]=0;
       d++;             
       i++;
      pos2=strstr(slova,".txt");
       if(pos2!=NULL){
       g=pos2-slova;
       slova[g]=0;
       g++;
       slova[g]=0;
       g++;
       slova[g]=0;
       g++;
       slova[g]=0;
 
       break;
       }
       }
       Memo1->Text=Memo1->Text+slova;
 
 
    }
    else break;
    }
RAD Studio XE6-> C++ Builder -> VCL Forms Application
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
03.08.2014, 21:27
Ответы с готовыми решениями:

Удалить символы расположенные между двумя заданными символами
Подскажите пожалуйста , какой нужно использовать код , что бы удалить в строке символы после определенного символа, и остановить удаление ,...

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

поиск подстроки между разделителями
нужна помощь :) есть строка " 00.00 Name: TEXT' name...] " мне нужно получить из этой строки TEXT искал в интернете,...

4
 Аватар для Lynatik001
48 / 40 / 15
Регистрация: 28.09.2012
Сообщений: 818
04.08.2014, 00:35
Пошаговое выполнение сделай . Не вникал в код но может из за этого break; ?)
0
 Аватар для hahanov
1 / 1 / 0
Регистрация: 16.07.2014
Сообщений: 30
04.08.2014, 01:00  [ТС]
Lynatik001, нет if (pos!=NULL) выполняется, а потом ничего не происходит...

Добавлено через 7 минут
Строка
C++
1
pos=strstr(log00,log77);
выполняется два раза (цикл идёт).
0
Модератор
Эксперт С++
 Аватар для zss
13770 / 10963 / 6491
Регистрация: 18.12.2011
Сообщений: 29,240
04.08.2014, 09:13
C++
1
2
3
4
5
6
7
// при первом проходе здесь d равно нулю
for(;;){
       slova[d]=log00[i];// переписали одну букву, остальное мусор
       log00[i]=0;
       d++;             
       i++;
      pos2=strstr(slova,".txt"); // и что будет искаться в этом мусоре?
0
 Аватар для hahanov
1 / 1 / 0
Регистрация: 16.07.2014
Сообщений: 30
04.08.2014, 11:11  [ТС]
Да d равно нулю при первом проходе, при втором не должно быть нулю иначе будет перезапись... так и должно быть.
Почему мусор?
В массиве slova будет искаться ".txt" после чего найденные символы .txt сотрутся, далее произойдёт: остановка второго цикла,
Продолжение первого цикла, проверка массива:есть ли символы введённые в Edit, однако не ищет почему?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
04.08.2014, 11:11
Помогаю со студенческими работами здесь

Поиск кратчайшего пути между заданными вершинами
Добрый день. Прошу помощи. Есть задача :"Даны два слова и словарь. Требуется построить цепочку слов от первого слова до второго, в котором...

Извлечение подстроки, ограниченной заданными символами
Приветствую всех. Необходимо извлечь из строки подстроку, которая ограничена заданными символами (символом) слева, справа или и слева и...

Поиск расстояния между заданными символами
Мне нужна найти ростояния n - символов в слове. Например есть текст: Человек ек мак екіі. Если ми вибрали букви ек Должно видать такие...

Поиск подстроки между определенными символами
Здравствуйте! Помогите плиз,как это можно реализовать. Допустим у нас есть строка: Мы с мамой пошли в парк им. Горького, а потом...

Получение подстроки между символами #
Добро Пожаловать! Вобщем вопрос в том что я хочу сделать Если приходит сообщение и оно имеет ## тогда то что в ## например добавилось в...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru