IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным. В описании темы указываем язык!!!

> Строки, С++
sheka
сообщение 22.03.2010 21:59
Сообщение #1


Я.
****

Группа: Пользователи
Сообщений: 809
Пол: Мужской
Реальное имя: Саша

Репутация: -  11  +


Подскажите, пожалуйста, как из строки удалить слово?

Пока реализовывал, понял из strcat, что char и const char разные типы (почему, что, где еще пока не понял). Решил обойти этот момент через указатели, но здесь меня вообще убило.

#include <stdio.h>
#include <string.h>
#include <ctype.h>

int main (){
char s[] ="The; first E36 M3, to be imported to the United States: was the 1995 model.";
char *p; //если закомментировать эту строку
char *n;
printf("%s\n",s);
//*n='\0'; и раскомментировать эту
printf("%s\n",n);

n=s;

printf("%s\n",n);
return 0;
}

получаются чудеса: в *n хранится часть строки s. Если не ошибаюсь, вот эта the 1995 model. Следственно закомментированая строка ее очищает. И, самое поразительное, что потом при n=s; в n сохраняется оставшаяся часть строки The; first E36 M3, to be imported to the United States: was.
Сможете объяснить такой феномен? lol.gif


 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 22.07.2025 6:38
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"