Форум программистов, компьютерный форум CyberForum.ru

Изменить значение указателя - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 5.00
AltPeople
 Аватар для AltPeople
10 / 10 / 1
Регистрация: 25.09.2008
Сообщений: 73
18.05.2009, 14:04     Изменить значение указателя #1
Рылся в поиске - не помогло.
Вообщем проблема дурацкая
C++
1
2
3
4
5
char *temp;
temp="asdf";
cout<<temp; // все идет нормально
temp[0]='A'; // не может изменить 1й эл-т
cout<<temp;
Выдает память не может быть "written".
может среда глючит, пользуюсь DEV C++
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.05.2009, 14:04     Изменить значение указателя
Посмотрите здесь:

Изменение значение указателя в цикле C++
Не получается присвоить значение указателя в функции C++
Как из указателя на массив достать конкретное значение массива C++
Меняется значение указателя C++
Как проверить значение (существование) указателя? C++
Ввести с клавиатуры значение указателя C++
Разыменование указателя, не передается правильное значение C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
18.05.2009, 14:08     Изменить значение указателя #2
*temp = "asdf";
AltPeople
 Аватар для AltPeople
10 / 10 / 1
Регистрация: 25.09.2008
Сообщений: 73
18.05.2009, 14:14  [ТС]     Изменить значение указателя #3
*temp = "asdf";
нельзя эл-ту типа char присвоить строку (массив эл-тов char)!
Rififi
 Аватар для Rififi
2332 / 1047 / 43
Регистрация: 03.05.2009
Сообщений: 2,656
18.05.2009, 14:15     Изменить значение указателя #4
AltPeople,
char
AltPeople
 Аватар для AltPeople
10 / 10 / 1
Регистрация: 25.09.2008
Сообщений: 73
18.05.2009, 14:23  [ТС]     Изменить значение указателя #5
недоглядел)))))))))
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
18.05.2009, 14:26     Изменить значение указателя #6
Точнее так
C++
1
2
3
4
char str[256];
char *temp;
temp = str; // или temp = &str[0]
temp = "asdf";
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.05.2009, 17:02     Изменить значение указателя
Еще ссылки по теме:

C++ Изменить адрес указателя
C++ Преобразование кода без указателя в код с использованием указателя
C++ Как изменить тип указателя массива ?
Как сделать функцию от указателя на класс и указателя на метод? C++
C++ Почему увеличение указателя на sizeof(тип) не тождественно инкременту этого же указателя?

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

Или воспользуйтесь поиском по форуму:
Evg
Эксперт С++Автор FAQ
 Аватар для Evg
16936 / 5341 / 328
Регистрация: 30.03.2009
Сообщений: 14,363
Записей в блоге: 26
18.05.2009, 17:02     Изменить значение указателя #7
Сообщение было отмечено автором темы, экспертом или модератором как ответ
когда пишешь

C
1
char *p = "abc";
то семантически это соовтествует конструкции

C
1
2
static const char __t[4] = { 'a', 'b', 'c', '\0' };
char *p = (char*) &__t[0];
Таким образом p[1] (что эквивалентно *(p+1)) соотвествует элементу __t[1], а объект __t помечен модификатором const. Такие объекты большинство компиляторов складывают в read-only секцию, а затем операционная система грузит эту секцию на одтдельные страницы памяти, куда запись запрещена. Как правило компиляторы имеют опцю, по которой такие конструкции НЕ попадают в read-only секции - как правило для того, чтобы нормально работали приложения, написанные много лет назад. Для gcc такая опция -fwriteble-strings
Yandex
Объявления
18.05.2009, 17:02     Изменить значение указателя
Ответ Создать тему
Опции темы

Текущее время: 00:10. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru