比较两个 C 风格字符串的正确函数是什么?

2024-01-07

所以我陷入了两难的境地。我需要比较两个 C 风格的字符串,并搜索了最合适的函数:

memcmp   //Compare two blocks of memory (function)
strcmp   //Compare two strings (function )
strcoll  //Compare two strings using locale (function)
strncmp  //Compare characters of two strings (function)
strxfrm  //Transform string using locale (function)

我认为第一个是地址,所以这个想法已经结束了。 第二个对我来说听起来是最好的选择,但无论如何我想听到反馈。 其他三个让我一无所知。


对于一般字符串比较,strcmp是适当的函数。你应该使用strncmp仅比较字符串中的某些数量的字符(例如前缀),以及memcmp比较内存块。

也就是说,由于您使用的是 C++,因此应该完全避免这种情况并使用std::stringclass,它比 C 风格的字符串更容易使用并且通常更安全。你可以比较两个std::string只需使用即可轻松实现平等==操作员。

希望这可以帮助!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

比较两个 C 风格字符串的正确函数是什么? 的相关文章

随机推荐