所以我陷入了两难的境地。我需要比较两个 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::string
class,它比 C 风格的字符串更容易使用并且通常更安全。你可以比较两个std::string
只需使用即可轻松实现平等==
操作员。
希望这可以帮助!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)