- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我目前正在努力通过 UDP
发送一些值。
主要问题是我有很多值(value)观。如果我单独发送每个值,它就可以正常工作。
char imu_x[16];
char imu_y[16];
char imu_z[16];
char mag_x[16];
char mag_y[16];
char mag_z[16];
char g_y[16];
char g_p[16];
char g_r[16];
char tmp[16];
char prs[16];
char ti[16];
char Motor1[16];
char Motor2[16];
char Motor3[16];
char Motor4[16];
//Timestamp
sendto(clientSocket,ti,sizeof(ti),0,(struct sockaddr *)&serverAdress,addressSize);
//acceleration data
sendto(clientSocket,imu_x,accx,0,(struct sockaddr *)&serverAdress,addressSize);
sendto(clientSocket,imu_y,accy,0,(struct sockaddr *)&serverAdress,addressSize);
sendto(clientSocket,imu_z,accz,0,(struct sockaddr *)&serverAdress,addressSize);
//Mag data
sendto(clientSocket,mag_x,magx,0,(struct sockaddr *)&serverAdress,addressSize);
sendto(clientSocket,mag_y,magy,0,(struct sockaddr *)&serverAdress,addressSize);
sendto(clientSocket,mag_z,magz,0,(struct sockaddr *)&serverAdress,addressSize);
//Gyro Data
sendto(clientSocket,g_y,gy,0,(struct sockaddr *)&serverAdress,addressSize);
sendto(clientSocket,g_p,gp,0,(struct sockaddr *)&serverAdress,addressSize);
sendto(clientSocket,g_r,gr,0,(struct sockaddr *)&serverAdress,addressSize);
//Temperature and Pressure
sendto(clientSocket,tmp,temp,0,(struct sockaddr *)&serverAdress,addressSize);
sendto(clientSocket,prs,press,0,(struct sockaddr *)&serverAdress,addressSize);
// Motor Data
sendto(clientSocket,Motor1,m1,0,(struct sockaddr *)&serverAdress,addressSize);
sendto(clientSocket,Motor2,m2,0,(struct sockaddr *)&serverAdress,addressSize);
sendto(clientSocket,Motor3,m3,0,(struct sockaddr *)&serverAdress,addressSize);
sendto(clientSocket,Motor4,m4,0,(struct sockaddr *)&serverAdress,addressSize);
那些是发送调用。
是否有可能将它们“合并”到一个发送调用中?
我已经尝试使用 strcat
但我的 char
缓冲区溢出并且循环终止。
如果有人知道解决方案,如果你能与我分享我会很高兴
周末愉快 =)
最佳答案
看起来像 16 个数组,每个 16 字节,所以声明一个大小为 256 的缓冲区,然后 memcpy
将数组放入缓冲区:
char buffer[256];
char *data[16] = { imu_x, imu_y, imu_z, mag_x, mag_y, mag_z, g_y, g_p, g_r, tmp, prs, ti, Motor1, Motor2, Motor3, Motor4 };
for ( int i = 0; i < 16; i++ )
memcpy( buffer + i*16, data[i], 16 );
然后您可以使用单个 sendto
发送缓冲区,并在接收端使用类似的代码来解压缓冲区。
关于c - 在一个 charArray 中发送大量值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38807783/
我正在阅读 an article about whole program optimization .链接时代码生成部分的最后一段说,将分配在堆栈上的数组归零可能不会产生相同的效果,具体取决于它的归零
我有 char c1 = 'S'; // S as a character char c2 = '\u0068'; // h in Unicode char c3 = 0
这个问题在这里已经有了答案: How do I determine the size of my array in C? (24 个答案) 关闭 6 年前。 在我已经有几年 Python、C# 和
这里是 Enter Your Name :xyzEnter Your Age :abc I want this preformatted text to be converted into ch
我有一个接受 16 位十六进制值作为输入的程序。我想做的就是让它提取这些值。例如,如果我输入: 0xFFFF 0x0000 0x1234 我希望程序迭代此输入字符串,并一次提取每个十六进制值。另外,如
#Input: chararr = np.chararray((3, 5)) chararr[:] = 'a' chararr #Output: chararray([[b'a', b'a', b'a
我正在尝试将我的字符数组 grid1 传递给名为 status 的方法。我收到错误 char 无法转换为 char[][]。我如何传递 grid1 以便它可以在 for 循环中工作? for
出于某种原因,我很难用空格初始化 numpy.chararray。 这有效: char_array1 = np.chararray((3, 3)) char_array1[:] = 'a' char_
我有以下代码 private static int getYear(char[] charArray) { return (int)charArray[0] * 1000 + (int)ch
以下代码应该将电话号码字符转换为实际的电话号码整数。例如,800-NEXT-DAY = 800-639-8329。但无论我在 result.substring 索引中输入什么,我都会得到字符串索引超出
我目前正在努力通过 UDP 发送一些值。 主要问题是我有很多值(value)观。如果我单独发送每个值,它就可以正常工作。 char imu_x[16]; char imu_y[16]; char im
我有这个 CharArray: char[] letters = "qwertyuiopasdfghjklzxcvbnm123456789".ToCharArray(); 我想知道如何从这个数组中获取
我有这个代码 var str : CharArray var t =0 for (k in i..i+3) { str[t++] = array[k][j] 它说str必须初始化,我不知道如
我的问题是我得到一个 String 并且我需要检查从末尾开始的第 4 个位置是否有空格。如果在这个位置没有空格,我应该插入它。 例如:我得到这个字符串:TW12EF,需要这样得到它:TW1 2EF 首
我正在尝试用 C++ 编写一个程序,它通过一个 char 数组,随着它的进行用 ch2 替换 ch1,我遇到的问题是让它改变输入的实际字符串而不是返回一个新的字符串。在 C# 中,您会使用“ref”,
我有一个严重而恼人的问题,请帮忙 mdContext->digest[i] 是一个具有十六进制值的无符号字符数组,所以 for (i = 0; i digest[i]); 打印 900150983cd
我有一个在任何情况下都满足 ([a-zA-Z0-9])* 的字符串,我想让它通过 sha1 运行。 那么如何将字符串(或使用 ToCharArray() 获得的字符数组)转换为字节数组呢? 到目前为止
如果我在字符串上使用 Split() 函数,将各种拆分字符作为 char[] 参数传递,并假定匹配的拆分字符已被删除从字符串中,我如何识别它匹配和拆分的字符? string inputString =
提前致谢。我们都知道为什么在Java中对于密码等敏感数据应该使用char[]而不是String。我只是想知道 Kotlin 中是否存在同样的情况。 document说“当针对 JVM 时,此类的实例(
我有一些大小的 char[] originalCharArray。 我想创建一个新的 char[] returnCharArray,这样每次 char ' 出现在原始 char[] 中时,都会添加另一
我是一名优秀的程序员,十分优秀!