powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Непонятная ошибка с нарушением прав доступа при присваивании значений char
11 сообщений из 11, страница 1 из 1
Непонятная ошибка с нарушением прав доступа при присваивании значений char
    #39126766
ukugyul552465
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
#include <iostream>
#include <cstdlib>
#include <iomanip>
#include <fstream>
using namespace std;
	int main()
{
	setlocale (0, "");
    
    char *text = "abc";
	char *key = "f";
	char *et = "000";

	int tl = strlen(text);
	int kl = strlen(key);


	for (int i = 0; i < tl; i++)
	{
		for (int j = 0; j < kl; j++)
		{
et[i] = text[i] ^ key[j];
		}
	}
		cout << et;
	cin.get();
	cin.get();
	return 0;
	}



Прерывание программы с ошибками
Первый этап обработки исключения по адресу 0x00C81299 в CrT.exe: 0xC0000005: нарушение прав доступа при записи по адресу 0x00C831B4.
Необработанное исключение по адресу 0x00C81299 в CrT.exe: 0xC0000005: нарушение прав доступа при записи по адресу 0x00C831B4.

Программа "[4716] CrT.exe" завершилась с кодом 0 (0x0).

В чём может быть дело?
...
Рейтинг: 0 / 0
Непонятная ошибка с нарушением прав доступа при присваивании значений char
    #39126909
Фотография SashaMercury
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторВ чём может быть дело?

в том что et строковый литерал
...
Рейтинг: 0 / 0
Непонятная ошибка с нарушением прав доступа при присваивании значений char
    #39126910
Фотография SashaMercury
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SashaMercuryавторВ чём может быть дело?

в том что et строковый литерал

хранит адрес строкового литерала
...
Рейтинг: 0 / 0
Непонятная ошибка с нарушением прав доступа при присваивании значений char
    #39126968
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ukugyul552465

В чём может быть дело?

Дела в том, что по стандарту
должно быть


const char *text = "abc";
const char *key = "f";
const char *et = "000";
...
Рейтинг: 0 / 0
Непонятная ошибка с нарушением прав доступа при присваивании значений char
    #39127414
ukugyul552465
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А как в таком случае присвоить значение переменной et?
...
Рейтинг: 0 / 0
Непонятная ошибка с нарушением прав доступа при присваивании значений char
    #39127423
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
char et[] = "000";
...
Рейтинг: 0 / 0
Непонятная ошибка с нарушением прав доступа при присваивании значений char
    #39127435
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ukugyul552465А как в таком случае присвоить значение переменной et?

Никак. Это невозможно.
...
Рейтинг: 0 / 0
Непонятная ошибка с нарушением прав доступа при присваивании значений char
    #39127616
Зимаргл
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZivukugyul552465А как в таком случае присвоить значение переменной et?

Никак. Это невозможно.
Да ну.

char* et= "const memory";
....
et = new char[100];
et[5]= 'F';

и аналогично
...
Рейтинг: 0 / 0
Непонятная ошибка с нарушением прав доступа при присваивании значений char
    #39128355
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЗимарглMasterZivпропущено...


Никак. Это невозможно.
Да ну.

char* et= "const memory";
....
et = new char[100];
et[5]= 'F';

и аналогично


а теперь добавить впереди модификатор cost, как я советовал, и повтори...
...
Рейтинг: 0 / 0
Непонятная ошибка с нарушением прав доступа при присваивании значений char
    #39128709
Зимаргл
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZiv,

Это еще зачем? В условии задачи этого не было. И стандарт вполне допускает присваивать неконстантной переменной константу.

Допустимый вариант еще
char et[] = "000";

С виду одно и тоже, а суть разная.
...
Рейтинг: 0 / 0
Непонятная ошибка с нарушением прав доступа при присваивании значений char
    #39128724
ukugyul552465
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всё ясно, спасибо.
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Непонятная ошибка с нарушением прав доступа при присваивании значений char
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]