strncmp、qsort、strnlen
2020-12-24 本文已影响0人
EamonXia
1、strncmp
函数原型
int strncmp(const char * str1, const char * str2, size_t n)
函数入参
-
str1
-- 要进行比较的第一个字符串。 -
str2
-- 要进行比较的第二个字符串。 -
n
-- 要比较的最大字符数。
函数返回值
A, B, C, ...... Z, a, b, c, ...... z
strncmp("A", "A", 1) is 0
strncmp("A", "B", 1) is -1
- 如果返回值 < 0,则表示
str1
小于str2
。 - 如果返回值 > 0,则表示
str2
小于str1
。 - 如果返回值 = 0,则表示
str1
等于str2
。
strncmp()
函数在比较两个字符串时,可以比较到字符串不同的地方,也可以只比较到第3个参数指定的字符数。例如,如果要查找astro
开头的字符串,可以限定函数之查找前5个字符,
2、qsort()
函数原型:
void qsort(void *base, size_t nitems, size_t size, int (*compar)(const void *, const void *))
函数入参:
-
base
-- 指向要排序的数组的第一个元素的指针。 -
nitems
-- 由 base 指向的数组中元素的个数。 -
size
-- 数组中每个元素的大小,以字节为单位。 -
compar
-- 用来比较两个元素的函数。
返回值:
该函数不返回任何值。
3、strnlen()
函数原型:
size_t strnlen(const char *s, size_t maxlen);
函数入参:
-
s
--要计算其长度的字符串。 -
maxlen
--最大长度。
返回值:
返回字符串s
中实际字符个数,不包括结尾的'\0'
;
如果实际字符个数 <= maxlen
,则返回实际字符个数,否则返回第二个参数maxlen
。