在阅读字符串中的问题并将其与C进行比较时,不止一个人不鼓励使用strcmp(),说像
我也强烈建议你现在习惯使用strncmp(),以避免很多问题.
确保你使用strncmp而不是strcmp.strcmp非常不安全.
他们提到了什么问题?
之所以scanf()用绳子符和gets()强烈劝阻,是因为他们几乎不可避免地导致缓冲区溢出漏洞.但是,用缓冲区溢出是不可能的strcmp(),对吧?
"缓冲区溢出或缓冲区溢出是一种异常现象,程序在将数据写入缓冲区时会超出缓冲区的边界并覆盖相邻的内存."
( - 维基百科:缓冲区溢出).
由于strcmp()函数永远不会写入任何缓冲区,strcmp()函数不会导致缓冲区溢出,对吧?
人们不鼓励使用strcmp()和推荐的原因是什么strncmp()?