【发布时间】:2013-02-26 07:51:58
【问题描述】:
我有以下代码:
struct prefix rnp;
char prefix[IPV6_PREFIX_STR_MAX_LEN];
...
strncat(prefix, "/", 1); <----- WORKS OK
strncat(prefix, rnp.prefixlen, MAX_PREFIX_LEN); <------ SEG FAULT
...
其中rnp.prefixlen 的类型为u_int8_t。
IPV6_PREFIX_STR_MAX_LEN = 45
MAX_PREFIX_LEN = 2
prefix 的内容是 192.13.6.0,rnp.prefixlen 的内容是 16
我真的不知道如何克服它。
有什么想法吗?
【问题讨论】:
-
prefix是 0 终止的吗? -
您确定要设置
rnp.prefixlen吗? -
@elcanibal ,是的,它正在其他地方使用...
-
@cnicutar ,你在考虑 memset 吗?
-
@Itzik984 这将是一个选项。
prefix[0] = 0;也是如此。