strncmp memcmp区别
内部实现:前者逐每个字符进行比较,并判当前字符是否为0; 后者逐内存块进行比较。
效率:后者自然要优,不论从内部实现上,还是系统优化上。
场景:后者无法替代前者。在项目中遇到一种情况,两个字符串比较,长度不定,前者遇到0会结束比较,后者不会,则越界。当仅仅是比较两个完整字符串的话,还是用strcmp要好,提前判len,遇到len不一样的字符串,串长者大。
内部实现:前者逐每个字符进行比较,并判当前字符是否为0; 后者逐内存块进行比较。
效率:后者自然要优,不论从内部实现上,还是系统优化上。
场景:后者无法替代前者。在项目中遇到一种情况,两个字符串比较,长度不定,前者遇到0会结束比较,后者不会,则越界。当仅仅是比较两个完整字符串的话,还是用strcmp要好,提前判len,遇到len不一样的字符串,串长者大。