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

Доступ к памяти по адресу - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 5.00
sly4ainaya
2 / 2 / 0
Регистрация: 11.03.2011
Сообщений: 49
29.07.2013, 13:31     Доступ к памяти по адресу #1
Есть структура, элементы которой адрес на начало массива в памяти и его размер. Адреса хранятся в 16-ричном формате. Мне нужно распечатать то, что лежит в этом массиве.

C++
1
2
3
4
for (int i = 0; i <= ((int)(current->_size)); i++)
            {
                TraceFile << (current->_address)[i]<<endl;
            }
(current->_address)[i] - некорректно, не могу придумать, как сделать иначе
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
aLarman
29.07.2013, 15:23     Доступ к памяти по адресу
  #41

Не по теме:

Цитата Сообщение от xanderfomin Посмотреть сообщение
Тут уже просто пошла путаница между адресами и указателями.
угу

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
sly4ainaya
2 / 2 / 0
Регистрация: 11.03.2011
Сообщений: 49
30.07.2013, 11:11  [ТС]     Доступ к памяти по адресу #42
Да, всем спасибо Вывод в конечном счете выглядит так

C++
1
2
3
4
5
6
7
8
9
for (int i = 0; i <= ((int)(current->_size)); i++)
            {
                std::stringstream ss;
                float fl = *((float*)(current->_address + i) );
                ss<<fl;
                std::string tmp(ss.str());
                TraceFile << tmp <<endl;
 
            }
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.07.2013, 11:41     Доступ к памяти по адресу
Еще ссылки по теме:

Выделение памяти по известному адресу C++
Доступ к произвольному адресу памяти C++
C++ Вызов функции-члена класса по адресу в памяти

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

Или воспользуйтесь поиском по форуму:
zybrzybr
 Аватар для zybrzybr
17 / 16 / 0
Регистрация: 29.09.2010
Сообщений: 156
30.07.2013, 11:41     Доступ к памяти по адресу #43
Цитата Сообщение от sly4ainaya Посмотреть сообщение
Да, всем спасибо Вывод в конечном счете выглядит так

C++
1
2
3
4
5
6
7
8
9
for (int i = 0; i <= ((int)(current->_size)); i++)
            {
                std::stringstream ss;
                float fl = *((float*)(current->_address + i) );
                ss<<fl;
                std::string tmp(ss.str());
                TraceFile << tmp <<endl;
 
            }
а зачем к указателю приводить что бы потом его разыменовывать?
Yandex
Объявления
30.07.2013, 11:41     Доступ к памяти по адресу
Ответ Создать тему
Опции темы

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