Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
ht1515
шарпопочитатель
58 / 25 / 1
Регистрация: 31.01.2010
Сообщений: 964
#1

Запись по указателю - C++

06.04.2012, 18:43. Просмотров 870. Ответов 6
Метки нет (Все метки)

C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <QtCore/QCoreApplication>
#include <QDebug>
 
int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
 
    int chislo=5;
    char mas[19];
    mas[0]=1;
    mas[1]=1;
    mas[2]=1;
    char* p=&mas[3];
    *p = (int)chislo;
    qDebug()<<(int)mas[0]<<"\n";
    qDebug()<<(int)mas[1]<<"\n";
    qDebug()<<(int)mas[2]<<"\n";
    qDebug()<<(int)mas[3]<<"\n";
    qDebug()<<(int)mas[4]<<"\n";
    qDebug()<<(int)mas[5]<<"\n";
    qDebug()<<(int)mas[6]<<"\n";
 
 
    return a.exec();
должно вывести
1
1
1
5
0
0
0

int =4 байта.
мне надо чтобы в char массив записалось int число...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.04.2012, 18:43
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Запись по указателю (C++):

Запись по ссылке или указателю в аргументы функции через макрос va_arg - C++
Здравствуйте! Есть функция, принимающая переменное число аргументов. Нужно, чтобы переменные из main передавались в функцию по ссылке, и в...

Switch по указателю - C++
Есть функция которая может вернуть указатель на результат в случае успеха, вернуть nullptr в случае провала, а может выдать критический...

Присвоение значения указателю - C++
Как можно, вот так, присваивать указателю значение? Разве, указатель не должен всегда содержать адрес? const char* szString =...

Массив по указателю void* - C++
Как сравнивать элементы массива имея указатель void* на него, размер массива и размер в байтах одного элемента?

Передача по указателю и по ссылке - C++
Всем привет! Есть функция, в которую передается ссылка: void Compare(int &amp;p) { int * str = p;// здесь ошибка нельзя...

Обращение к неинициализованному указателю - C++
просто в никакую не получается. Если выделяю обычную динамическую память, то без ошибок, выделяю указатель на указатель тут уже ошибки идут...

6
Algiz
160 / 160 / 13
Регистрация: 23.02.2011
Сообщений: 347
06.04.2012, 19:30 #2
попробуй не
Код
*p = (int)chislo;
а
Код
*p = (char)chislo;
0
ht1515
шарпопочитатель
58 / 25 / 1
Регистрация: 31.01.2010
Сообщений: 964
06.04.2012, 20:18  [ТС] #3
всмысле?
он тогда же не 4 байта запишет в память , а 1.
смотрите у меня задача.
char = 1 байт
int =4 байта

имеется массив char mas[20];
надо по адресу mas[3] н-р записать число типа int.

mas[3] = 0xff88ddaa;

в результате mas[3] будет равен 0xff
mas[4] = 0x88
mas[5] = 0xdd
mas[6] = 0xaa
0
Toshkarik
1147 / 864 / 51
Регистрация: 03.08.2011
Сообщений: 2,404
Завершенные тесты: 1
06.04.2012, 21:02 #4
Думаю тут поможет union.
C++
1
2
3
4
union MyUnion {
   int number;
   char BYTE[ sizeof( number )];
};
0
ht1515
шарпопочитатель
58 / 25 / 1
Регистрация: 31.01.2010
Сообщений: 964
06.04.2012, 21:23  [ТС] #5
Toshkarik, все равно копипастить придется каждый байтик из одного массива в другой. а через указатель вышло бы одним махом.
0
retmas
Жарю без масла
864 / 746 / 168
Регистрация: 13.01.2012
Сообщений: 1,702
06.04.2012, 21:30 #6
есливы знаете, что значение вашей int переменной умещается в char, смело пишите
C++
1
*p = (char)chislo;
0
Toshkarik
1147 / 864 / 51
Регистрация: 03.08.2011
Сообщений: 2,404
Завершенные тесты: 1
06.04.2012, 21:34 #7
Зачем??? Достаточно написать так
C++
1
2
MyUnion a;
a.number = 0xff88ddaa;
А потом обращаться к каждому байту

C++
1
b = a.BYTE[ 0 ];
1
06.04.2012, 21:34
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.04.2012, 21:34
Привет! Вот еще темы с ответами:

Узнать значение по указателю - C++
Пишу плагин для gta 3. В Cheat Engine я нашел нужный адрес, но он оказался динамическим.CE вычислил такой поинтер: Вопрос: как...

Копирование переменной по её указателю - C++
У меня есть функция main(), в которой static char Pass; очень быстро меняется, и отдельный поток с циклом, и вот беда: глобальная...

Достать List по указателю - C++
Доброго времени суток. Начинаю разбираться в C++ пишу библиотеку для приложения на делфи необходимо реализовать функцию ...

Обход массива по указателю - C++
Доброго времени суток. К примеру, у меня есть такой код: #include &lt;iostream&gt; using namespace std; int main() { int mass; ...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

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