Вот столкнулся с такой проблемкой:
Мне нужно вычитать область памяти, адрес которой известен(hex). Сразу в голове построился процесс написания программы и что буду использовать. Сразу решил использовать указатели. Но вот проблема - при вводе в консоль адреса ячейки, которым нужно инициализировать указатель, чет не то происходит - адрес присваивается, но значение не вычитывается(то есть не правильное ).
1. В какой тип переменной можно записать hex, а потом его использовать для инициализации указателя?(с интом чаром чет не вышло)
2. Мне нужно вычитать к примеру 50 адресов, идущих после известного. Инкримент указателя для этого подойдет?
Смотрю, чет никто не отвечает. Вот к приведу пример как я делал:
Код:
void main()
{
int a = 19;
cout << "a = " << a << "\n&a = " << &a << endl;
}
это код в одной проге. Я ее запускаю и вижу адрес переменной а в памяти.
Далее я запускаю другую прогу, с кодом
Код:
void main()
{
int *a = (int*)0x0012FF60; //адрес переменной из 1-й проги
cout << "a = " << a << "\n*a = " << *a << endl;
}
Видно что адрес в указателе сменился, а вот доступиться к значению не могу по нормальному(((
А вообще нужно чтоб адрес был введен пользователем к примеру так:
Код:
char addr[10];
cin >> addr; // сюда вводится адрес из первой проги
char *mem = (char*) addr;
Подскажите плз, а то моск уже кипит от количеста перепробованных вариантов(((