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

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

Восстановить пароль Регистрация
 
diplomat1129
0 / 0 / 0
Регистрация: 11.02.2013
Сообщений: 83
02.06.2014, 10:10     Передать из функции массив байт #1
Сама функция
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;
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
dzrkot
zzzZZZ...
 Аватар для dzrkot
516 / 346 / 53
Регистрация: 11.09.2013
Сообщений: 1,977
02.06.2014, 10:35     Передать из функции массив байт #2
вы создаёте массив в функии, и возвращаете на него указатель, но он будет удалён после вызова функции, вам надо передавать сам массив в функцию по ссылке, видоизменять его там, после чего возвращать его же.

Добавлено через 1 минуту
Цитата Сообщение от diplomat1129 Посмотреть сообщение
*buffer = Client.receive(sizeof(int));
а здесь вы в 1ый элемент пытаетесь записать char* , что тоже ошибочно, если хотите присвоить адрес то просто buffer = //лялялl;
zss
Модератор
Эксперт С++
 Аватар для zss
5946 / 5551 / 1784
Регистрация: 18.12.2011
Сообщений: 14,178
Завершенные тесты: 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     Передать из функции массив байт
Ответ Создать тему
Опции темы

Текущее время: 11:41. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru