5、linux下应用字符串相关调用函数列举说明
1、函数原型int strcmp(const char *s1,const char *s2);
设这两个字符串为s1,s2,
规则
当s1<s2时,返回为负数
当s1=s2时,返回值= 0
当s1>s2时,返回正数
即:两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇'\0'为止。如:
"A"<"B" "a">"A" "computer">"compare"
2、原型为extern char *strchr(const char *s,char c)
可以查找字符串s中首次出现字符c的位置
3、函数原型char *strncpy(char *dest,char *src,size_t n)
把src所指向的字符串中以src地址开始的前n个字节复制到dest所指的数组中,并返回dest。
1)src串长度<=dest串长度,(这里的串长度包含串尾NUL字符)
如果n>src由于长度达到src NUL,正常复制,特别注意,如果src中有NULL,strncpy复制到NUL即使没到n也提前停止。如果n = src串长度,与strcpy一致。注意n的选择当n > dest串长度,dest栈空间溢出产生崩溃异常。
2)src串长度>dest串长度
如果n =dest串长度,则dest串没有NUL字符,会导致输出会有乱码。如果不考虑src串复制完整性,可以将dest 最后一字符置为NUL。
4、原型为size_t strlen(const char *string); ,其中size_t实际上是unsigned int
strlen所作的仅仅是一个计数器的工作,它从内存的某个位置(可以是字符串开头,中间某个位置,甚至是某个不确定的内存区域)开始扫描,直到碰到第一个字符串结束符'\0'为止,然后返回计数器值(长度不包含'\0')。