![]() |
1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!
![]() |
sheka |
![]()
Сообщение
#1
|
![]() Я. ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 809 Пол: Мужской Реальное имя: Саша Репутация: ![]() ![]() ![]() |
Подскажите, пожалуйста, как из строки удалить слово?
Пока реализовывал, понял из strcat, что char и const char разные типы (почему, что, где еще пока не понял). Решил обойти этот момент через указатели, но здесь меня вообще убило. #include <stdio.h> получаются чудеса: в *n хранится часть строки s. Если не ошибаюсь, вот эта the 1995 model. Следственно закомментированая строка ее очищает. И, самое поразительное, что потом при n=s; в n сохраняется оставшаяся часть строки The; first E36 M3, to be imported to the United States: was. Сможете объяснить такой феномен? ![]() |
![]() ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Цитата char s[256] = {0}; Это очистка строки? Да, это присвоение каждому элементу (символу) строки значения 0. В случае символа происходит приведение 0 к типу char, и записывается '\0'Цитата Только на паскаль не похоже... Я ж тебе говорил, что это разные методы ![]() Цитата А реализация с помощью strcat, strlen возможна? Может и возможна, но мне проще не извращаться с использованием этих функций, а написать без них.Добавлено через 5 мин. Цитата вот эту (ispunct(*p)!=NULL)||(*p==' ') строку вы заменили на strchr(";:.,!? ", *p) с какой-то целью или просто, для наглядности? Мне так проще, потому что я сам устанавливаю, что именно является разделителем, а не кто-то за меня устанавливает. Вот видишь, тебе понадобилось добавить пробел - добавлено еще одно условие. А если надо учесть еще и скобки? Еще 2 условия добавлять будешь? В моем случае достаточно добавить все необходимые символы в первый параметр strchr, и никаких дополнительных условий не надо. |
sheka |
![]()
Сообщение
#3
|
![]() Я. ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 809 Пол: Мужской Реальное имя: Саша Репутация: ![]() ![]() ![]() |
Цитата А реализация с помощью strcat, strlen возможна? Может и возможна, но мне проще не извращаться с использованием этих функций, а написать без них. А вот тогда как можно сделать, например, такую задачу: Ввести строку и присоединить ее к другой. const char *s1="mama \0"; Каким образом можно считать строку в переменную? %s до пробела считывает. Для strcat не подходит формат ни первой, ни второй строки. Неужели как-то так *pp++ = *p; ? |
![]() ![]() |
![]() |
Текстовая версия | 22.07.2025 13:15 |