strstr函数c语言

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

strstr函数c语言
strstr函数是C语言中常用的一种函数,它可以在一个字符串中查找另一个字符串。

它在字符串处理中起到了重要的作用,在编程过程中,经常使用它来实现字符串的查找、替换等操作。

strstr函数属于C标准库,在string.h中声明的,它的原型如下所示:
char *strstr(const char *s1, const char *s2);
其中,s1指向搜索的源字符串,s2指向要查找的字符串。

strstr 函数的功能是从s1中搜索s2的首次出现。

如果搜索成功,则函数返回s2在s1中的首字符的地址,否则返回NULL。

函数的实现机理是通过将s2中的字符与s1中的字符进行顺序比较,比较到其中任何一个不同就返回不等,如果一直比较到s2中的最后一个字符,则搜索成功。

实现该函数的基本思想就是对s1中的每一个字符,都将其与s2中的字符进行比较,有关程序段如下所示:
// 从s1第一个字符开始搜索
while (*s1 != 0 {
t// s2中第一个字符与s1当前字符进行比较
tif (*s1 == *s2) {
tt//较s2剩余字符,当s2遍历完时表示成功
ttwhile (*s2 != 0 {
tttif (*s1 != *s2)
ttttbreak;
ttts1++;
ttts2++;
tt}
tt//功则返回
ttif (*s2 == 0
tttreturn (char *) s1 - strlen(s2);
t}
t// 不成功则继续搜索
ts1++;
}
strstr函数的使用也比较简单,一般可以用以下几种方式: 1、判断某个字符串是否是一个串的子串:
//断s1是否是s2的子串
if (strstr(s1, s2))
tprintf(%s %s子串
s2, s1);
else
tprintf(%s 不是 %s子串
s2, s1);
2、查找某个字符串中的某个字符:
//找s1中的字符c
char *p = strstr(s1, c);
//找成功则输出,否则提示不存在 if (p)
tprintf(字符 %c在于 %s 中
c, s1);
else
tprintf(字符 %c 不存在于 %s 中 c, s1);
3、查找某个字符串中某个串:
//找s1中的s2
char *p = strstr(s1, s2);
//找成功则输出,否则提示不存在 if (p)
tprintf(字符串 %s在于 %s 中
s2, s1);
else
tprintf(字符串 %s 不存在于 %s 中 s2, s1);
4、替换某个字符串中某个串:
//换s1中的字符串s2
char *p = strstr(s1, s2);
//找成功则替换,否则提示不存在
if (p) {
tstrcpy(p, s3); //s3复制到p处
tprintf(替换成功,新字符串:%s
s1);
} else
tprintf(字符串 %s 不存在于 %s 中
s2, s1);
尽管strstr函数只是一个简单的函数,它在字符串处理中的作用却不可忽视。

例如,在计算机程序中,字符串查找经常用它,在实际编程中可以用它来查找、替换、查找子串等等。

相关文档
最新文档