如何显示缓冲区中的值
how to display values from buffer
我正在尝试在缓冲区中显示值。
客户端节点将其温度和数据长度作为缓冲区中的有效载荷发送到服务器。然后,服务器应该接收并显示输入的相同值
我有以下内容:
handler(void)
{
memset(buf, 0, MAX_PAYLOAD_LEN);//set payload
if(uip_newdata()) { //if new data is received from client
leds_on(LEDS_RED);
len = uip_datalen();
memcpy(buf, uip_appdata, len);
printf("buffer = %s", buf);
PRINTF("%unr bytes from [", len);
PRINT6ADDR(&UIP_IP_BUF->srcipaddr);
PRINTF("]:%unr", UIP_HTONS(UIP_UDP_BUF->srcport));
}
我有一种感觉,memcpy行或"printf"行是错误的,因为其他printf工作。
请帮忙Json
我不知道你想从缓冲区中提取什么样的数据,但如果它的开头包含一个"\0",那么printf("buffer=%s",buf);不会显示任何数据。
当我想调试缓冲区时,我知道输出不包含ASCII字符,我使用以下示例:
char buf[MAX_BUF_LEN];
do_fill_buffer_stuff(buf);
// Print the output of the buffer as Hexadecimal values:
for (int i = 0; i < MAX_BUF_LEN; i++) {
printf("%02x ", buf[i] & 0xff);
}
printf("n");
这将在缓冲区中提供一系列十六进制值。
相关文章:
- 比较并显示使用最小值(a,b)和最大值(a、b)升序排列的4个数字
- C++字符*缓冲区的大小
- C++,OpenCV,尝试显示图像时"OpenCV(4.3.0) Error: Assertion failed (size.width>0 && size.height>0)"此错误
- 字符串-C++后显示的随机字符
- 继承期间显示未知行为的子类
- 仅使用绝对值对数组进行排序,并在C++中显示实际值
- 写入渲染缓冲区并使用单个渲染调用使用 OpenGL 显示
- window.display() 单独在显示的最后一个缓冲区和当前缓冲区之间切换
- 将数据分配给了数组分配,但程序显示了以缓冲区超支的输出
- 自定义 OpenGL 缓冲区类不显示任何内容
- 无法使用套接字显示接收到的缓冲区
- C++.将二进制文件读入缓冲区后,如何以十六进制显示缓冲区
- 显示 OpenglES 缓冲区的内容
- Emacs GDB 不会在源代码缓冲区中显示当前程序光标
- 如何刷出直接显示音频渲染器缓冲区
- OpenGL顶点缓冲区对象未显示
- C++ReadProcessMemory缓冲区始终显示0
- 渲染到帧缓冲区时,灰色材质显示为深色
- 如何显示缓冲区中的值
- 使用MFC或Win32显示来自内存缓冲区的所有位图类型