【发布时间】:2018-06-19 20:37:40
【问题描述】:
我想使用 xbuf_trunclen() 和 xbuf_truncptr() 函数来削减我的缓冲区,但这些函数似乎不起作用。
这是一个通过 char 指针运行的示例:
char *string = (char*)strdup("---Boundary");
string += 3;
printf("String is '%s'", string);
结果:字符串为“边界”
这是我想做但似乎不起作用的:
xbuf_t buffer;
xbuf_init(&buffer);
xbuf_cat(&buffer, "---Boundary");
xbuf_trunclen(&buffer, 3);
printf("Buffer is '%s'", buffer.ptr);
结果:缓冲区是'---边界'
虽然我想:缓冲区是“边界”
并使用“xbuf_trunptr()”:
...
char *ptr = (char*)strdup("Boundary");
xbuf_truncptr(&buffer, ptr);
...
结果:缓冲区是'---边界'
虽然我想:缓冲区是“边界”
这是我的使用错误还是两个功能的操作问题? 目标是操纵缓冲区的开头。
【问题讨论】: