strstr 函数原型: char * strstrchar * str1,char * str2);
功能就是找出在字符串str1中第一次出项字符串str2的位置也就是说字符串sr1中要包含有字符串str2),找到就返回该字符串位置的指针也就是返回字符串str2在字符串str1中的地址的位置),找不到就返回空指针就是 null)。
#include<stdio.h>#include<string.h>int main){ char a[101],b[101];scanf”%s %s”,a,b); printf”%s\n”,strstra,b));printf”%d\n”,strlena)+1-strlenstrstra,b))); /* char *temp=strstra,b);printf”%s\n”,temp);int length=strlena)+1-strlenb);printf”%d\n”,length);*/return 0; }
这个代码实现的是找出字符串a中b的第一个字符出现的位置。
http://acm.swust.edu.cn/oj/problem/332/这个swust oj上面的一道题目,本以为可以用这个函数做出来,后来仔细想了一下,不行,函数只会找出来被查找字符串第一次出现的位置的地址,做这一题还是有局限。
strchr是与strstr函数很类似的一个函数,头文件都是string.h。
strchr函数原型:char * strchrchar * str, int ch); 功能就是找出在字符串str中第一次出项字符ch的位置,找到就返回该字符位置的指针也就是返回该字符在字符串中的地址的位置),找不到就返回空指针就是 null)。
它们一个是求一个字符在字符串中得位置。
#include<stdio.h>#include<string.h>int main){ char a[101],b[1];scanf”%s %s”,a,b); printf”%s\n”,strchra,b[0]));printf”%d\n”,strlena)+1-strlenstrchra,b[0]))); /* char *temp=strchra,b[0]);printf”%s\n”,temp);int length=strlena)+1-strlentemp);printf”%d\n”,length);*/return 0; }