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

Функция, которая принимает буфер памяти - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Отслеживание нажатия клавиш на C++ http://www.cyberforum.ru/cpp/thread24894.html
Здравствуте, прочитал статью про то как перехватывать нажатие клавиш средствами C++(http://netcode.ru/cpp/?lang=&katID=6&skatID=67&artID=2742) я пользуюсь (Borland C++ Builder 6) сделал всё как...
C++ Direct по книге Горнакова урок 8, запускается но 3DКуб не выводится Начал учить Direct по книге Горнакова, урок №8 запускается но 3DКуб не выводится. Ошибок вроде нет, библиотеки тоже подключены. Все запускается, а кубика невидно. Вот весь файл:... http://www.cyberforum.ru/cpp/thread24870.html
C++ Получение доступа к файлам папки
Товарищи программисты, поскажите, пожалуйста, каким образом получить имена файлов (всех, в том числе и подпапок) некоторой папки и как проверить, является ли некоторый файл обычным или папкой?...
C++ Aero в программе
В стандартных программах Windows (просмотр изображений, выбор гаджетов боковой панели и т.п) видно, что у них прозрачен не только заголовок, но и их часть (либо окно целиком (как в выборе...
C++ Что такое компилятор, и где его взять? http://www.cyberforum.ru/cpp/thread24290.html
Здравствуйте дорогие форумчане! Вот начал изучать по самоучителям С++ и сталкнулся с таким термином, как компилятор. Я так понял он преобразовает программу в рабочее состояние (если что-то не так...
C++ Вариант компилирования bat в exe Увжаемые пользовтаели. У меня появилась необходимость написать определённый скрипт запуска. Сделал его batником, т.к. ноль в программировании. А теперь требуется сделать его ексешкой. Знаю что есть... подробнее

Показать сообщение отдельно
Night_Light
17 / 17 / 2
Регистрация: 14.02.2009
Сообщений: 86
05.03.2009, 20:00
Цитата Сообщение от ABTOP Посмотреть сообщение
Код
Напишите функцию, которая принимает буфер памяти и возвращает число long. 
Известно, что передается некая структура и число, которое нужно извлечь, 
начинается с пятого байта.
Подскажите пожалуйста как зделать функцию, которая принимает буфер памяти... Хотя бы алгоритм или вспомагающие функции.

И как извлечь число начиная с пятого байта?
"Некую структуру" тебе скорее всего надо передавать в виде указателя на void. А чтобы получить указатель на 5 байт - можно попробовать прикастить void* к char*, у которого 5 байт можно получить обратившись к 5 элементу через индекс.

вот пример:
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
 
void main()
{
    std::cout<< sizeof(char)<<std::endl;
    std::cout<< sizeof("AAaab")<<std::endl;
 
    const char mas[] = "AAaabddddddc";
    void* ptr = (void*)mas;
    char* charVar = (char*)ptr;
    std::cout<< charVar[4] <<std::endl;
}
как видно на консоле - размер sizeof("AAaab") равен 5 + 1 байт ( 1 - это конец строки). а обращение к charVar[4] выводит символ b.
Проблема только в том, что размер char в 1 байт кажется не документирован. я пробовал на VS 2003.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru