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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
egoriy
0 / 0 / 0
Регистрация: 16.08.2013
Сообщений: 12
#1

Слетает прога при присваивании разименованованному указателю - C++

29.06.2014, 17:59. Просмотров 189. Ответов 4
Метки нет (Все метки)

Помогите плз!
Не могу присвоить значение элементу строки;
C++
1
2
3
4
5
6
7
8
#include <iostream> 
using namespace std;
 
main() {
    char* s1 = (char*) "12345";
    *s1 = '2';
    cout << s1;
}
этот код слетает при выполнении
"обнаружена ошибка. Приложение будет закрыто. Приносим извинения за неудобства."
(компилируется без ошибок)

если закоментировать присваивание:
C++
1
2
3
4
5
6
7
8
#include <iostream> 
using namespace std;
 
main() {
    char* s1 = (char*) "12345";
    //*s1 = '2';
    cout << s1;
}
все работает.
Может есть у кого какие идеи
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.06.2014, 17:59     Слетает прога при присваивании разименованованному указателю
Посмотрите здесь:

Ошибка при присваивании массиву char значения - C++
В общем, требуется присвоить массиву чаров одно из нескольких значений (в зависимости от значения аргумента функции) и вывести этот массив...

Нарушение прав доступа при присваивании вектора - C++
Здравствуйте! Помогите исправить ошибку. В строке присваивания вектора возникает исключение. // инициализация списка...

Элементы списка при присваивании передаются в обратном порядке - C++
Такая проблема, вывожу текст &quot;List lst;&quot;, все ок. Но когда присваиваю List listik = lst; и вывожу текст, через Listik, то выводит &quot;!!!...

Порядок вызова конструкторов при присваивании объектов одного класса - C++
Имеется код ниже. Wein dres = rom; Где dres и rom объекты класса Wein. Класс Wein имеет все конструкторы по умолчанию....

Почему при присваивании адреса массива не ставится знак '&' получения адреса - C++
int main() { int a = { 2, 3 }; int* b; b = a; //Почему при присваивании адреса массива не ставится знак '&amp;' получения адреса. ...

Обращение по нулевому указателю при преобразование типов - C++
int main() { unsigned long long long1 = 123456789012345; char str; _ultoa_s(long1, str, size_t (str), 10); return 0; } ...

Нарушение прав доступа при записи по указателю - C++
суть: при отладке появляется ошибка: &quot;Необработанное исключение в &quot;0x00f31967&quot; в &quot;13 laba.exe&quot;: 0xC0000005: Нарушение прав доступа при...

Не изменяется элемент вектора при работе с ним по указателю - C++
Здравствуйте. Проблема следующая. Пишу свою велосипедную (на это, как на источник проблемы, не указывать) реализацию бинарного дерева для...

При ENTER закрывается прога - C++
Интересует как заблокировать кнопку ENTER...в label1 ...при нажатии ентер происходит выход из программы ...а нужно что-бы было аналогично к...

Почему при сборке Releas'а прога без VC++ не идёт? - C++
Прога использует библиотеки ДАО. Собираю как Release, на машине Win 98 она выдаёт ошибку MS VC++ Runtime Error.


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
0x10
2459 / 1631 / 238
Регистрация: 24.11.2012
Сообщений: 4,009
29.06.2014, 18:02     Слетает прога при присваивании разименованованному указателю #2
Строковый литерал - const char*, естественно, его нельзя изменять.
Используйте массив, а не указатель.
Jewbacabra
Эксперт PHP
2157 / 1821 / 676
Регистрация: 24.04.2014
Сообщений: 5,309
29.06.2014, 18:03     Слетает прога при присваивании разименованованному указателю #3
egoriy, "12345" - строковый литерал, изменять его нельзя
zss
Модератор
Эксперт С++
6276 / 5879 / 1902
Регистрация: 18.12.2011
Сообщений: 15,076
Завершенные тесты: 1
29.06.2014, 18:25     Слетает прога при присваивании разименованованному указателю #4
C++
1
2
3
4
5
main() {
    char s1[] = "12345";// под s1 выделяется память 6 байт и инициализируется строкой
    *s1 = '2';
    cout << s1;
}
egoriy
0 / 0 / 0
Регистрация: 16.08.2013
Сообщений: 12
29.06.2014, 19:23  [ТС]     Слетает прога при присваивании разименованованному указателю #5
Всем спасибо - вразумили - разобрался
Yandex
Объявления
29.06.2014, 19:23     Слетает прога при присваивании разименованованному указателю
Ответ Создать тему
Опции темы

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