1

在 qmail(MTA) 代码中通过 stralloc 函数使用的字符串的结束分隔符是什么???

stralloc str;
stralloc_copys(&str,"testing");
printf("%s\n", str.s);

它实际上打印

测试Zjklfjndf

打印内容的正确方法是什么???

4

3 回答 3

2

因此没有分隔符,但您可以在 stralloc 存储的每个字符串的末尾找到 Z。存储在 stralloc 中的数据仅通过 len 进行查找。

并且正如 ansh 已经提到的那样,不要尝试通过 printf 打印数据,而是在字符串上运行 for 循环 len 次。

更多参考:http ://cr.yp.to/lib/stralloc.html

于 2013-02-18T07:02:16.487 回答
1

在 stralloc \0 也是一个有效的内容,所以不要尝试通过 printf 打印数据

于 2013-02-18T06:58:19.810 回答
1

stralloc_0 将终止 Z 之后的其余内容。但是当你想打印时,打印到 str.len。

于 2013-03-21T06:25:24.247 回答