Добрый день. Столкнулся с такой проблемой: по сети передается массив вида
« int arr[160][256] », приемник решил сделать с помощью winSock (UDP протокол), но функция recvfrom
(int recvfrom(SOCKET s, char* buf, int len, int flags, struct sockaddr* from, int* fromlen
)

в качестве буфера для данных использует указатель на char, и принять int у меня не получается. Как можно решить такую проблему?
p.s. или всё так просто, что это даже нельзя проблемой назвать
23.08.05 11:43: Перенесено модератором из 'C/C++. Прикладные вопросы' — Павел Кузнецов
Здравствуйте, akexeyss, Вы писали:
A>Добрый день. Столкнулся с такой проблемой: по сети передается массив вида
A>« int arr[160][256] », приемник решил сделать с помощью winSock (UDP протокол), но функция recvfrom
A>(int recvfrom(SOCKET s, char* buf, int len, int flags, struct sockaddr* from, int* fromlen
A>)
A>в качестве буфера для данных использует указатель на char, и принять int у меня не получается. Как можно решить такую проблему?
A>p.s. или всё так просто, что это даже нельзя проблемой назвать
Ну и преобразуй к нужному типу
int* intbuf = (int*)buf;
Вот только... 160 * 256 * sizeof(int) = 163840 байт, что как-то явно многовато для одной датаграмы...
... << RSDN@Home 1.1.4 beta 7 rev. 447>>