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

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

Войти
Регистрация
Восстановить пароль
 
diplomat1129
0 / 0 / 0
Регистрация: 11.02.2013
Сообщений: 83
#1

Передать из функции массив байт - C++

02.06.2014, 10:10. Просмотров 308. Ответов 3
Метки нет (Все метки)

Сама функция
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
unsigned char* receive(int size=512)
{
    vector<byte> resBuffer;
    unsigned char buffer[4];
    int res;
    //Receive a reply from the server
    res = recv(sock , &buffer , sizeof(unsigned char) , 0);
    if( res < 0)
    {
        puts("recv failed");
    }
    //cout<<(int)*buffer;
    //resBuffer.insert(resBuffer.end(), buffer, buffer + size);
    return buffer;
    //return resBuffer;
}
здесь принимаю значение функции
C++
1
2
3
unsigned char buffer[size];//tmpBuff = Client.receive();
                    *buffer = Client.receive(sizeof(int));
                    cout<<(int)*buffer;
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.06.2014, 10:10     Передать из функции массив байт
Посмотрите здесь:

Как передать массив в функции - C++
Здравствуйте друзья! Я переписываю достаточно большую программу с Delphi 7 на C++. Код я уже весь адаптировал, компилятор ошибок не выдает,...

Передать двумерный массив функции - C++
Скажите, пожалуйста, как я могу передать двумерный массив функции, которая с ним поработает, а потом вернет мне его? int...

Передать массив структур функции - C++
Есть функция, принимает адрес 3d массива - func(char **). Строки обрабатывает... Нужный массив строк у меня в структуре: структура One, в...

Передать функции массив Char - C++
Функции fill и show можно передать массив Snames на прямую и будет работать , но я хочу еще передать через аргумент для функции , но вывод...

Передать массив из функции в main() - C++
#include &lt;iostream&gt; #include &lt;stdlib.h&gt; #include &lt;math.h&gt; #include&lt;clocale&gt; using namespace std; // поиск мах int maxel (int...

Как передать двумерный массив функции? - C++
Уважаемые форумчане, подскажите пожалуйста как передать двумерный массив в функцию? Как то самому не получается разобраться.... Заранее...

Передать массив в функцию и вернуть из функции - C++
Доброго времени суток. Пытаюсь считать из файлов числа и попарно их перемножить. Проблема в функциях void EnterMassive и void Multi. В...

Передать функции массив как несколько параметров - C++
Как передать функции массив как несколько параметров те где каждый элемент будет выступать как отдельный параметр

Передать ссылку на массив из одной функции во вторую - C++
Как передать ссылку на массив из одной функции во вторую, если в первый мы его инициализируем, а во второй заполняем? #include &lt;iostream&gt;...

Как передать массив из одной функции в другую? - C++
Нужна помощь. #include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std; int vod(int a) { int a, i; for (i = 0; i &lt; 12;...

Как передать функции массив в качестве аргумента? - C++
Всем привет! Подскажите, как передать функции массив в качестве аргумента? И как сделать, чтобы функция возвращала массив?

Как в качестве аргумента функции передать массив? - C++
Доброго времени суток! Расскажите, пожалуйста, если не затрудняет, как в качестве аргумента функции передать массив? Функция должна...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
dzrkot
zzzZZZ...
518 / 348 / 53
Регистрация: 11.09.2013
Сообщений: 1,995
02.06.2014, 10:35     Передать из функции массив байт #2
вы создаёте массив в функии, и возвращаете на него указатель, но он будет удалён после вызова функции, вам надо передавать сам массив в функцию по ссылке, видоизменять его там, после чего возвращать его же.

Добавлено через 1 минуту
Цитата Сообщение от diplomat1129 Посмотреть сообщение
*buffer = Client.receive(sizeof(int));
а здесь вы в 1ый элемент пытаетесь записать char* , что тоже ошибочно, если хотите присвоить адрес то просто buffer = //лялялl;
zss
Модератор
Эксперт С++
6284 / 5887 / 1908
Регистрация: 18.12.2011
Сообщений: 15,113
Завершенные тесты: 1
02.06.2014, 11:53     Передать из функции массив байт #3
Проще записать его в параметр
C++
1
2
3
4
5
6
7
8
9
10
11
bool receive(unsigned char* buffer,int size=512)
{
    vector<byte> resBuffer;
    int res;
    res = recv(sock , &buffer , sizeof(unsigned char) , 0);
    if( res < 0)
    {
        return false;
    }
    return true;
 }
diplomat1129
0 / 0 / 0
Регистрация: 11.02.2013
Сообщений: 83
02.06.2014, 12:34  [ТС]     Передать из функции массив байт #4
здесь же я передаю в параметр указатель типа байт на 1 элемент?мне должно 4 байта прийти..т.е. мне надо передать массив байт и заполнить его ответом в итоге получу 4 число типа инт
Yandex
Объявления
02.06.2014, 12:34     Передать из функции массив байт
Ответ Создать тему
Опции темы

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