一、概念
C语言中的字符串是以‘\0’为结尾的字符数组,在操作字符串时,我们通常将字符串的首地址给一个字符指针,即:
char* a= “hello”
这条语句的意义是将hello字符串的首地址赋给a变量。
二、常用的字符串的处理函数
1、 字符串的复制
strcpy函数
函数原型:char* strcpy(char* s1,const char* s2)
说明:将s2字符串拷贝到s1字符串中,返回s1的值。Strncpy函数不拷贝‘\0’字符
strncpy函数
函数原型:char* strncpy ( char* s1,const char *s2,size_t n)
说明:拷贝s2中的n个字符到s1中,返回s1,n的值至少比s2长度大1时才拷贝。
2、 字符串的拼接
Strcat函数
函数原型:char* strcat ( char *s1,const char *s2)
说明:将s2追加到s1中,返回s1
Strncpy函数
函数原型:char *strncat( char* s1, const char * s2 ,size_t n)
说明:将s2中的n个字符追加到s1中。
注:要想从第x字节开始拷贝或者拼接字符串,将s2改为s2+x,则函数变为:
char* strncpy ( char* s1,const char *s2+x,size_t n)
char * strncat( char* s1, const char * s2+x ,size_t n)
3、 字符串的比较
strcmp函数
函数原型:int strcmp(const char * s1 , const char * s2);
说明:比较字符串s1和s2 ,s1 > s2 返回值为正数,
s1 < s2 , 返回值为负数,
s1 = s2,返回值为0 。
strncmp函数
函数原型:int strncmp (const char * s1 , const char * s2 , size_t n);
说明:比较字符串s1 和字符串s2 的n个字符,结果与strcmp相同。
strcasecmp函数
函数原型:int strcasecmp(const char * s1 , const char * s2 )
说明:忽略大小写的比较,返回值与strcmp相同
Strcasencmp函数
函数原型:int strcasencmp( const char * s1,const char * s2,size_t n )
说明:忽略大小写的比较,返回值与strncmp相同。
4、 字符串的查找
Strchar函数
函数原型: char * strchar( const char * s , char c );
说明: 返回值指向字符串s中字符c首次出现的指针,没有则返回NULL。
strrchar函数
函数原型: char * strrchar( const char * s , char c)
说明: 返回值指向字符串s中字符c最后一次出现的指针,没有则返回NULL。
strstr函数
函数原型:char * strstr(const char * s1 , const char * s2 )
说明: 返回指向字符串s1中首次出现s2位置的指针,没有则返回NULL