С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
Minchanin-Bel
5 / 5 / 3
Регистрация: 19.09.2010
Сообщений: 173
1

Как скопировать подстроку из строки до определенного символа? Или удалить, начиная с этого символа

05.09.2015, 17:35. Просмотров 2111. Ответов 3
Метки нет (Все метки)

Добрый вечер. Ответ искал, но не нашёл. Предположим, есть строка:

ABC|DEF

Надо скопировать всё до | , т.е., в приведённом примере, это ABC. Или же удалить из существующей строки всё, начиная и включая |. Подскажите, как? Может, функция есть какая? Строка хранится в char*.
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.09.2015, 17:35
Ответы с готовыми решениями:

Как скопировать часть строки до определенного символа?
Допустим, пользователь вводит с клавиатуры строку. Необходимо скопировать часть...

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

Скопировать строку до определенного символа
Здравствуйте ребята! Задание удалить комментарии при попытках посимвольно...

Обрезать/скопировать string до определенного символа
Есть ли библиотечная функция для данных типа string, которая урезает или...

Скопировать текст из одного файла в другой, начиная с символа цифра
Нужно скопировать в файл текст из исходного файла, начиная с первого символа...

3
sfinexer
-3 / 11 / 5
Регистрация: 22.01.2011
Сообщений: 172
05.09.2015, 17:47 2
Я себе циклом читаю
C++
1
2
3
4
5
6
7
8
9
10
11
string LoadSTRINGinpfile(string *inpfile,int l,int n,int k)  // читает из масива
{
  int i;
  string word;
  word="";
  for(i=n-1; i<k; i++)
    {
      word=word+inpfile[l-1][i];
    }
  return word;
}
Еще обратите внимание на поиск символа в строке
pos = str.find(str1, 0);
str- строка str1- что ищем
Возвращается позия найденного куска, а далее или до него, или после можно циклом обрезать
0
nmcf
6516 / 5745 / 2617
Регистрация: 14.04.2014
Сообщений: 24,494
05.09.2015, 17:51 3
Лучший ответ Сообщение было отмечено Minchanin-Bel как решение

Решение

Функциями, конечно.
C++
1
2
3
4
5
6
7
8
9
char s[100] = "ABC|DEF", s1[100];
 
// копировать до |
int c = strchr(s, '|') - s;
strncpy(s1, s, c);
s1[c] = '\0';
 
// удалить от |
s[с] = '\0';
0
sfinexer
-3 / 11 / 5
Регистрация: 22.01.2011
Сообщений: 172
05.09.2015, 17:53 4
nmcf, да так гораздо лучше.
Я привел пример который сам использую но у меня задача специфическая и нету разделителей, хотя можно было и лучше написать но в данном случае мне это не критично, она только при старте программы вызывается.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.09.2015, 17:53

Замена символа в строке на число соответствующему номеру по порядку вхождения этого символа в строку
В заданной строке заменить каждый символ «*» числом, соответствующим номеру по...

Определить последнее вхождение символа “р” в строке и вывести строку, начиная с первого символа и до последнего “р” в строке
Заданы 2 строки, состоящие из слов, разделенных пробелами. Определить последнее...

Копирование строки до определенного символа
Дан текстовый файл с командами типа INSERT(&quot;Ключ&quot;, Значение) \ FIND (&quot;Ключ&quot;) \...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

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