目录
1、strstr---函数返回字符串str2在字符串str1中第一次出现的位置
一、strcpy的使用和模拟实现
1、strcpy----拷贝字符串
其中destination为目标空间,目标空间必须足够大,以确保能存放源字符串,目标空间必须可修改。source中存放的源字符串不期望被修改,加上const修饰,源字符串必须以'\0'结束,会将源字符串中的'\0'拷贝到目标空间。
2、strcpy的模拟实现
3、strcpy存在不安全问题
例如arr1[ ]="abc" arr2[ ]="abcdef" 这时arr2大于arr1,但是strcpy(arr1,arr2)仍会继续拷贝,会存在越界问题。
二、strcat的使用和模拟实现
1、strcat----追加字符串
比strcpy多了目标字符串中也得有\0,以便知道从哪里开始追加字符串
2、strcat的模拟实现
3、使用模拟的strcat自己给自己追加
第一种情况是会陷入死循环,第二种是非法访问内存,程序会崩溃。使用库函数可以自己给自己追加。
三、strcmp的使用和模拟实现
1、strcmp---比较字符串
比较字符串其实比较的是ASCII码值。
标准规定:
第一个字符串大于第二个字符串,则返回大于0的数字,
第一个字符串等于第二个字符串,则返回0,
第一个字符串小于第二个字符串,则返回小于0的数字,
如果使用的是VS编译器,则返回-1,0,1.
2、strcmp的模拟实现
四、strstr的使用和模拟实现
1、strstr---函数返回字符串str2在字符串str1中第一次出现的位置
字符串的比较匹配不包括\0字符,以\0作为结束标志。