1

我一直在对 strncmp 的安全性进行一些研究,我知道它不是空终止的。但我也看到有人说它“不是 strcmp() 的安全替代品”。谁能给我解释一下?我一直在寻找一段时间,但实际上我能找到的唯一一个地方说这是关于几个问题的。也许有人可以链接我一些资源来调查这个?谢谢。

4

1 回答 1

0

我认为这个线程可能会帮助你 -有没有安全的 strcmp?

简而言之,即使您可以发送要比较的字符串的大小,如果字符串比大小 'n' 短并且它不是以空值结尾的,strncmp 仍然会读取垃圾值。

与您的问题类似 -为什么要使用 strncpy 而不是 strcpy?

于 2020-06-02T18:58:53.317 回答