标签:ext arch temp 地址空间 必须 ring const tom find
输入2个字符串S1和S2,要求删除字符串S1中出现的所有子串S2,即结果字符串中不能包含S2
输入在2行中分别给出不超过80个字符长度的、以回车结束的2个非空字符串,对应S1和S2。
在一行中输出删除字符串S1中出现的所有子串S2后的结果字符串。
Tomcat is a male ccatat
cat
Tom is a male
#include<stdio.h>
#include<string.h>
int main(void)
{
char a[81];
char b[81];
gets(a);
gets(b);
char *p;
char c[81];
while((p=strstr(a,b)) != NULL) //strstr 找不到返回 NULL
{
*p = ‘\0‘; // 指定连接下一步(连接函数)之前 a 的终止位置;
strcpy (c, p+strlen(b)); // strcat函数中的两个传入参数的内存地址不能重叠,所以这里用 c 当作 temp
strcat (a, c);
}
puts(a);
return 0;
}
函数原型:
extern char *strstr(char *str1, const char *str2);语法:
* strstr(str1,str2)
str1: 被查找目标 string expression to search.
str2: 要查找对象 The string expression to find.返回值:若str2是str1的子串,则返回str2在str1的首次出现的地址;如果str2不是str1的子串,则返回NULL。
例子:
char str[]="1234xyz";
char *str1=strstr(str,"34");
cout << str1 << endl;显示的是: 34xyz
函数原型
extern char *strcat(char *dest, const char *src);将两个char类型连接。
char d[20]="GoldenGlobal"; char *s="View"; strcat(d,s);
结果放在d中
printf("%s",d);
输出 d 为 GoldenGlobalView (中间无空格)
d和s所指内存区域不可以重叠且d必须有足够的空间来容纳s的字符串。
返回指向d的指针。
原型声明:
char strcpy(char dest, const char *src);strcpy是一种C语言的标准库函数,strcpy把含有‘\0‘结束符的字符串复制到另一个地址空间,返回值的类型为char*。
标签:ext arch temp 地址空间 必须 ring const tom find
原文地址:https://www.cnblogs.com/zw431387/p/10115183.html