一、字符串操作
strcpy(str1,str2) 复制字符串
strcat(str1,str2) 附加字符串
strlen(str) 取字符串长度
strcmp(str1,str2) 比较字符串
strstr(str1,str2) 查找字符串
1、strcpy
第二个字符串将覆盖掉第一个字符串的所有内容!
<span style="font-size:14px;">#include<stdio.h>
#include<assert.h>
char *my_strcpy(char *dest,char const *src)
{
assert(dest);
assert(src);
char *ret = dest;
while((*dest++ = *src++) != '\0')
{
;
}
return ret;
}
int main()
{
char str1[] = "abxde";
char str2[] = "sdsf";
my_strcpy(str1,str2);
printf("%s\n",str1);
return 0;
}</span>
注意:在定义数组时,字符数组1的字符串长度必须大于或等于字符串2的字符串长度。不能用赋值语句将一个字符串常量或字符数组直接赋给一个字符数组。
2、strcat(str1,str2)
功能:将字符串str2接到字符串str1的后面
将源串strSource添加到目标串strDestination后面, 并在得到的新串后面加上NULL结束符..源串strSource的字符会覆盖目标strDestination后面的结束符NULL. 在字符串的复制或添加过程中没有溢出检查, 所以要保证目标串空间足够大. 不能处理源串与目标串重叠的情况. 函数返回strDestination值.
<span style="font-size:14px;">//模拟实现strcat函数
#include<stdio.h>
#include<assert.h>
char *my_strcat(char *dest,char const *src)
{
assert(dest)