在c++中通过UDP发送整数数组
Sending an integer array over UDP in C++
我试图通过使用c++中的winsock编程的UDP发送大小为480X640的整数数组到另一台机器。我可以在发送之前将数组类型转换为char *,但我不知道如何将char *转换回整数数组。代码段看起来像这样:
int arrayData[480][640];
char * arrayChar;
arrayChar = (char *)&arrayData;
// send it to the other end over UDP
// at the other end, receive and convert char * to integer array
这个类型转换有效吗?如果有人能帮我把'arrayChar'转换回整数数组,那就太好了。
您可以使用reinterpret_cast,然后在接收端使用相同的方法将其强制转换。
答案
-
你不需要&在c++中最好使用正确的强制类型转换。
char * ptr = static_cast
(arrayData); -
对于强制转换,您需要参见(如何将简单指针强制转换为固定大小的多维数组?)
-
你有超过1MB的数据,这是很多数据包。您真的确定要使用UDP吗?它不能保证数据包按顺序到达(或者根本就不能)。
相关文章:
- 从二进制文件中读取整数数组
- 新的整数数组向右移动?
- C++ 中的二维整数数组,每行中的元素数量不均匀
- 给定一个整数数组,需要在Max_Heap上运行操作。得到错误"segmentation fault",有什么想法吗?(C++)
- 为什么在我的 main 函数中声明整数后我的整数数组中会出现错误?
- 在 C++ 中将整数数组转换为位集表示形式的最佳方法?
- 从两个 4x64 位整数数组中获取取模
- 字符到整数数组
- 从函数参数 [C++] 复制整数数组
- 指向整数数组和打印总和的指针
- 使用可变参数函数将整数和/或整数数组放入单个 int 数组中
- 线程安全整数数组?
- 整数数组中最长的回文
- 在大整数数组中查找子数组
- 查找整数数组中最接近的数字
- 创建<int>对整数数组指针的矢量引用 (C++)
- 整数指针数组的元素是否可以指向整数数组?
- 如何将整数数组相乘得到一个数字?
- 当 map 是一个整数数组并且由 operator[] 创建时,它是否初始化其映射类型
- 将文本文件读入整数数组