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

Работа с unsigned char - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Динамическая память http://www.cyberforum.ru/cpp-beginners/thread302506.html
в чем ошибка #include <iostream> #include "conio.h" using namespace std; class{A int a; double b; char s; }
C++ подключение к ЕИАС При подключении к системе ЕИАС выходит ошибка. "В обработчике события On AfterInstaller CriptoInstaller возникло исключение - не удается найти указанный файл (исключение из HRESULT: 0х80070002) http://www.cyberforum.ru/cpp-beginners/thread302505.html
указатели C++
Создайте целые числа x и y Создайте указатель на int с названием p1 Сохраните адрес x в p1 Используйте p1 чтобы присвоить значению х 99 Используя cout, выведите значение x Используя cout...
C++ Инициализация массива строк
Здравствуйте! Подскажите, как можно инициализировать массив строковых констант неопределенного размера? Для инициализации массива неопределенного размера типа float я использовал следующее: int...
C++ Работа с динамическими структурами данных http://www.cyberforum.ru/cpp-beginners/thread302491.html
Организовать двунаправленный список для хранения элементов структуры, содержащей сведения о фамилии, специальности. Предусмотреть добавление элементов в начало списка, поиск по специальности,...
C++ удаление файлов по таймеру Всем привет. Ребята подскажите !? Необходим скрипт или программа для удаление файлов по таймеру. Кто чем может помоч? подробнее

Показать сообщение отдельно
J10
4 / 4 / 0
Регистрация: 30.04.2011
Сообщений: 50

Работа с unsigned char - C++

23.05.2011, 08:41. Просмотров 6707. Ответов 7
Метки (Все метки)

Есть указатель на тип unsigned char, содержащий в себе 4-ех байтное число и переменная типа long. Как записать в эту переменную значение из адреса указателя? Есть какая нибудь функция, предназначенная для этого? Atol не подходит (там ведь нужен символ конца строки), а вот этот способ заносит только первый байт:

C++
1
2
3
4
5
6
7
8
9
10
11
typedef unsigned long BYTE;
BYTE *c=(BYTE *)malloc(4);
 
unsigned long a;
 
c[0]=0xff;
c[1]=0x00;
c[2]=0x11;
c[3]=0x22;
 
a = *c;
Хотя в C++ Builder вроде работает нормально.

И как записать скопировать n элементов из адреса указателя c в адрес указателя b? Только насильственным приведением через функцию strncpy?

C++
1
2
3
4
5
6
7
8
9
10
int n = 2;
 
BYTE *c=(BYTE *)malloc(4);
BYTE *b=(BYTE *)malloc(2);
 
c[0]=0xff;
c[1]=0x00;
c[2]=0x11;
c[3]=0x22;
strncpy((char *)b, (const char *)c, n);
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru