linux系统库函数之strcmp、strncmp
时间:2022-12-07阅读:57来源:柠檬博客作者:柠檬博客
240 #ifndef __HAVE_ARCH_STRCMP
241 /**
242 * strcmp - Compare two strings
243 * @cs: One string
244 * @ct: Another string
245 */
246 #undef strcmp
247 int strcmp(const char *cs, const char *ct)
248 {
249 unsigned char c1, c2;
250
251 while (1) {
252 c1 = *cs++;
253 c2 = *ct++;
254 if (c1 != c2)
255 return c1 < c2 ? -1 : 1;
256 if (!c1)
257 break;
258 }
259 return 0;
260 }
261 EXPORT_SYMBOL(strcmp);
262 #endif
字符串比较函数,如果两个字符串相等,则返回0,否则返回非零值。
264 #ifndef __HAVE_ARCH_STRNCMP 265 /** 266 * strncmp - Compare two length-limited strings 267 * @cs: One string 268 * @ct: Another string 269 * @count: The maximum number of bytes to compare 270 */ 271 int strncmp(const char *cs, const char *ct, size_t count) 272 { 273 unsigned char c1, c2; 274 275 while (count) { 276 c1 = *cs++; 277 c2 = *ct++; 278 if (c1 != c2) 279 return c1 < c2 ? -1 : 1; 280 if (!c1) 281 break; 282 count--; 283 } 284 return 0; 285 } 286 EXPORT_SYMBOL(strncmp); 287 #endif
同样的是,如果没有遇到字符串结束符,只比较cuont大小数据。
57人参与,
0条评论
登录后显示评论回复