С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
Dmitriy78781
0 / 0 / 0
Регистрация: 13.12.2011
Сообщений: 53
1

Как передать в функцию число и структуру побайтно?

01.03.2012, 11:06. Просмотров 1051. Ответов 4
Метки нет (Все метки)

Здравствуйте!!! Нужно написать функцию которая принимает некую структуру и число побайтно.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.03.2012, 11:06
Ответы с готовыми решениями:

Как передать в функцию ссылку на структуру?
Добрый вечер, помогите пожалуйста разобраться. Нужно чтобы функция myProc...

Как передать указатель на структуру в функцию
Подскажите как передать указатель *arr на структуру в функцию2, чтобы в ней...

Как передать в функцию строку и инициализировать ею структуру?
#include <iostream> using namespace std; struct bar { char name; double...

Как передать в функцию указатель на структуру, если эта структура не определена глобально?
Проблема заключается в следующем: предположим есть некая структура, которая...

как передать структуру в функцию, чтобы после выполнения функции он(массив в данном случае) вернулся измененным?
const int size = 256; struct MARKER { char mark; } void...

4
Xind
276 / 149 / 25
Регистрация: 05.11.2011
Сообщений: 425
Записей в блоге: 1
01.03.2012, 17:06 2
Dmitriy78781, Могу предположить, что это можно сделать через void*. В функции преобразовываете указатель на байт (например, unsigned char) и читаете до конца данных. Только саму структуру нужно организовать правильно с выравниванием. Как то так.
0
Nameless One
Эксперт С++
5788 / 3437 / 356
Регистрация: 08.02.2010
Сообщений: 7,448
01.03.2012, 17:27 3
Цитата Сообщение от Xind Посмотреть сообщение
Могу предположить, что это можно сделать через void*
а почему бы сразу не через unsigned char* ?
0
Xind
276 / 149 / 25
Регистрация: 05.11.2011
Сообщений: 425
Записей в блоге: 1
01.03.2012, 17:30 4
Цитата Сообщение от Nameless One Посмотреть сообщение
а почему бы сразу не через unsigned char* ?
можно подробнее. Если в фун. будет параметр unsigned char* и ему передать указатель на структуру, то будет работать?
Этим не занимался, точно сказать не могу. Можно пример?
0
Nameless One
Эксперт С++
5788 / 3437 / 356
Регистрация: 08.02.2010
Сообщений: 7,448
01.03.2012, 17:39 5
Цитата Сообщение от Xind Посмотреть сообщение
можно подробнее. Если в фун. будет параметр unsigned char* и ему передать указатель на структуру, то будет работать?
почему бы и нет? Указатель можно свободно скастовать к любому другому типу указателя:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#include <stdio.h>
#include <stdlib.h>
 
void print_bytes(const unsigned char* bytes, size_t size)
{
    size_t i;
 
    printf("%08u: ", size);
    
    for(i = 0; i < size; ++i)
    printf("%03u ", bytes[i]);
    putchar('\n');
}
 
struct s
{
    int i;
    double d;
};
 
int main(void)
{
    int i = 42;
    int j = 512;
    int k = 100500;
 
    struct s s = {900, 415.89};
        
    print_bytes((unsigned char*) &i, sizeof(i));
    print_bytes((unsigned char*) &j, sizeof(j));
    print_bytes((unsigned char*) &k, sizeof(k));
 
    print_bytes((unsigned char*) &s, sizeof(s));
        
    exit(0);
}
2
01.03.2012, 17:39
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.03.2012, 17:39

Передать структуру в функцию
что не так в моей передаче структуры и массива в функцию? void Sort_date...

Не получается передать структуру в функцию
Имею такую проблему, при попытке передать мою структуру в функцию, получаю...

Не получается передать структуру в функцию
#include &lt;iostream&gt; using namespace std; struct Node { int e; int c;...


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

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

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