【发布时间】:2010-01-31 14:25:57
【问题描述】:
假设我有一个大小为 10 个字符的数组(memset 为 0),我将其作为目标传递给 strncat,并且在源代码中我传递一个长度为 20 个字符的字符串(以空字符结尾),现在我应该将“计数”传递为 10 还是 9?
问题是,strncpy 是否将“计数”视为目标缓冲区的大小,还是只是将 10 个字符复制到目标,然后在第 11 个位置附加一个 NULL 终止字符。
对不起,如果这个问题显得过于琐碎,但我无法从 strncpy 的帮助文档中弄清楚这一点。
【问题讨论】: