powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / получить строку до подстроки
8 сообщений из 8, страница 1 из 1
получить строку до подстроки
    #34048897
Programister0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Может кто знает какую нибудь функцию чтобы вырезать начало строки до подстроки входящей в неё, или может можно как нибудь задать указатель на нее, как в strstr() но наоборот.
...
Рейтинг: 0 / 0
получить строку до подстроки
    #34049184
Фотография JibSkeart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а пример вашей строки ?
...
Рейтинг: 0 / 0
получить строку до подстроки
    #34049204
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Programister0Может кто знает какую нибудь функцию чтобы вырезать начало строки до подстроки входящей в неё, или может можно как нибудь задать указатель на нее, как в strstr() но наоборот.

Скопируй необходимое количество символов. Длину ты уже знаешь.
...
Рейтинг: 0 / 0
получить строку до подстроки
    #34049274
redskin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пусть s1 - исходная строка, s2 - подтсрока.
Если надо сохранить (например в строку s3) фрагмент s1 до начала s2, то

Код: plaintext
1.
s3.assign(s1,  0 , s1.find(s2,  0 ));

Если из s1 надо вырезать кусок до начала s2, то:

Код: plaintext
1.
s1.erase( 0 , s1.find(s2,  0 ));
...
Рейтинг: 0 / 0
получить строку до подстроки
    #34050061
Programister0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
char *str1="здесь пользователь вводит любой текст";
char *str2="пользователь"; //ссюда вводится заменяемое слово
char *str3="юзер";            //сюда замена
char *tmp;

//теперь необходимо заменить все str2 встречающиеся в тексте str1 на str3 

  tmp=strstr(str1,str2)+strlen(str2); //теперь tmp =" вводит любой текст"
  str1=strcat(str3,tmp);              //str1="юзер вводит любой текст"

//необходимо получить первую часть текста
//затем можно закинуть всё это в цикл;

p.s. я пробовал ваш пример s3.assign(s1, 0, s1.find(s2, 0)); компилятор не понимает, может библиотеку какую подключить надо.

конф.: c++ Builder 6.0 включены stdio.h и string.h
...
Рейтинг: 0 / 0
получить строку до подстроки
    #34050243
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Programister0
Код: plaintext
1.
2.
3.
4.
5.
  tmp=strstr(str1,str2)+strlen(str2); //теперь tmp =" вводит любой текст"
  str1=strcat(str3,tmp);              //str1="юзер вводит любой текст"

//необходимо получить первую часть текста
//затем можно закинуть всё это в цикл;


strstr(str1,str2)-str1 - длина текста до str2. Что сложного?
...
Рейтинг: 0 / 0
получить строку до подстроки
    #34050466
Programister0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
спасибо всем, все работает;
вроде ничего сложного непонимаю как до меня самого это недоперло;

и ответьте какие библиотеки необходимы для
.assign(); и .erase(); может с ними по проще будет
...
Рейтинг: 0 / 0
получить строку до подстроки
    #34053846
redskin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Programister0
и ответьте какие библиотеки необходимы для
.assign(); и .erase(); может с ними по проще будет

STL. стандартная библиотека шаблонов c++.
Если пишете на C++, то просто #include <string> и используете тип std::string
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / получить строку до подстроки
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]