我有一个16字节的数组,其中包含可执行文件段的名称。 char segname[16]; 如果段名长度小于16个字节,则其余部分填充空字节。 否则,没有终止的空字节。 我想比较segname各种string,例如__text 。 用非空终止的string调用strncmp是否合法? 这篇文章假定它是合法的。 这个源代码也是合法的。 但是我的男人的页面说: strncmp()函数按strncmp()顺序比较以空字符结尾的strings1和s2 。 传递给strncmp的大小将是segname的大小。 我想知道我应该参考什么。