本文目录
- strstr函数全称
- C语言strstr()函数
- 关于C语言中strstr()函数的使用
- c++语言中strstr什么意思
- strstr函数用法
- 关于strstr函数功能的问题
- strpos和strstr两个函数的区别
- strstr这个实在是搞不懂啊,求帮忙看下程序
- strstr()用法
- 求C语言中怎么用strstr函数求!位置!
strstr函数全称
在C语言中 strchr 和 strstr函数都被包含在《string.h》头文件中,也就是要调用它们时要在程序前面包含《string.h》头文件,也就是写这个语句:#include《string.h》
strchr函数原型:char * strchr(char * str, int ch); 功能就是找出在字符串str中第一次出项字符ch的位置,找到就返回该字符位置的指针(也就是返回该字符在字符串中的地址的位置),找不到就返回空指针(就是 null)。
strstr 函数原型: char * strstr(char * str1,char * str2);功能就是找出在字符串str1中第一次出项字符串str2的位置(也就是说字符串sr1中要包含有字符串str2),找到就返回该字符串位置的指针(也就是返回字符串str2在字符串str1中的地址的位置),找不到就返回空指针(就是 null)。
它们一个是求一个字符在字符串中得位置,另一个是求一个字符串在另一个字符串中的位置。
这些在C语言书最后面中都有的,你要学会去多看看书,要会自己解决问题。学编程是要有耐心的,学久了就会懂了。
C语言strstr()函数
思路:
从第一个字符串的第一位开始查找符合第二个字符串第一位的数据,如果找到,设定开始位置(记下来)
则循环判断是否符合下一位的数据,如果出现不符合,则回到原记录位置,重新查找符合第二个字符串的第一个位置的数据,如果找到,则。。。。循环前面一步的操作
如果完全符合,即第二个字符串遍历结束,则返回记录的位置
如此,你分析一下就可以得到一个嵌套循环的查找了
关于C语言中strstr()函数的使用
因为这个函数是查找匹配的子字符串,如果没有找到完全匹配的就往回空
所以p
==
NULL
cout《《p;就是
cout
《《NULL;这个肯定会挂的
正确的做法就是
if(p)
cout
《《p;
else
cout《《“not
match“《《endl;
-str
c++语言中strstr什么意思
包含文件:string.h
函数名: strstr
函数原型:extern char *strstr(const char *str1, const char *str2);
语法:* strstr(str1,str2)
str1: 被查找目标 string expression to search.
str2: 要查找对象 The string expression to find.
返回值:该函数返回str2第一次在str1中的位置,如果没有找到,返回NULL
The strstr() function returns the ordinal position within str1 of the first occurrence of str2. If str2 is not found in str1, strstr() returns 0.
-函数
strstr函数用法
C++函数原型:
const char * strstr ( const char * str1, const char * str2 );
char * strstr ( char * str1, const char * str2 );
C函数原型:
char * strstr ( const char *, const char * );
a字符串里 查看是否有b字符串,
有则 从首次发现b字符串处 返回 a字符串。
没有则输出 null
例子:
char st=“abc 1234 xyz“;
printf(“%s“,strstr(st,“34“) );
打印出:
34 xyz
扩展资料
#include 《syslib.h》
#include 《string.h》
main()
{
char *s=“GoldenGlobalView“;
char *l=“lob“;
char *p;
clrscr();
p=strstr(s,l);
if(p)
printf(“%s“,p);
else
printf(“NotFound!“);
getchar();
return0;
}
//功能:从字串” string1 onexxx string2 oneyyy”中寻找”yyy”
(假设xxx和yyy都是一个未知的字串)
char *s=”string1onexxxstring2oneyyy”;
char *p;
p=strstr(s,”yyy”);
if(p!=NULL)
printf(“%s”,p);
else
printf(“notfound\n“);
关于strstr函数功能的问题
有联系因为char *很特别, char *其实是开辟一段常量内存来存放一段字符串, 然后返回这段字符串的首地址那么楼主最后说的如果查找成功则返回非空返回值, 这个地址其实就是结果的首地址如果成功, 那么你的strstr函数里面已经已经写好一个查找的函数, 这个指针从原始字符串里面的第一个字符开始查找, 指针一个一个向后移动, 如果查找到了子串, 那么就返回当前的指针, 其实这个返回值就是原字符串的其中一个字符的地址
-str
strpos和strstr两个函数的区别
string strstr(string haystack,string needle) 返回haystack中从第一 个needle开头到haystack末尾的字符串。 如果未找到needle 返回false。 int strpos(string haystack, string needle [,int offset]) 返回haystack中第一个出现needle的位置数字量。 如果未找到needle返回false。 strchr 返回找到字符第1次出现和后面的字符串(字符串) strpos 返回找到字符串出现第1次字符位置(数字) strstr -- 返回字符串中从某指定字符开始到结束处的字符串。 语法: string strstr ( string haystack, string needle) 返回haystack中从needle开始到结束的字符串. 如果没有返回值,即没有发现needle,则返回FALSE 注: 这个函数是大小写敏感的。 stristr与strstr 的区别就是stristr不分区大小写。 相对于前两者查找成功后返回的是字符,strpos查找成功后则是返回的是位置。因为位置有可能是0,所以判断查找失败使用===false更合适。 strpos的性能比较好,如果只是判断needle是否在字符串haystack中,则使用strpos较好,它将占用更少的内存和获得更快的执行速度。但是strpos对特殊字符支持不好,比如对中文就不能很好支持。 结合上面实例我们得出结论 strstr 区别大小写,从字符开始找如果有返回true否则就返回false stristr 字符不区别大小写,从字符开始找如果有返回true否则就返回false strpos 区别大小写strpos查找成功后则是返回的是位置。因为位置有可能是0,所以判断查找失败使用===false更合适。 if(strstr($HTTP_SERVER_VARS[HTTP_USER_AGENT], “Mozilla/5.0“)) //支持特殊字符“/“和中文字符 if(strpos($HTTP_SERVER_VARS[HTTP_USER_AGENT], “Mozilla/5.0“)) //对“/“和中文字符不支持
-函数
strstr这个实在是搞不懂啊,求帮忙看下程序
你好!!
程序改好了,看后面的注释
#include《stdio.h》
#include《string.h》
void main(){
char*str1=“hello i an tony andy“;
char*str2=“an“;
char*p=strstr(str1,str2);
printf(“%s\n“,p); // 这里的 %d 改成 %s ,%d 的数字整型,%s 是字符串
}
strstr函数,功能:-str
函数返回一个指针,它指向字符串str2 首次出现于字符串str1中的位置;
如果没有找到,返回NULL
strstr()用法
C++函数原型:
const char * strstr ( const char * str1, const char * str2 );
char * strstr ( char * str1, const char * str2 );
C函数原型:
char * strstr ( const char *, const char * );
a字符串里 查看是否有b字符串,
有则 从首次发现b字符串处 返回 a字符串。
没有则输出 null
例子:
char st=“abc 1234 xyz“;
printf(“%s“,strstr(st,“34“) );
打印出:
34 xyz
扩展资料
#include 《syslib.h》
#include 《string.h》
main()
{
char *s=“GoldenGlobalView“;
char *l=“lob“;
char *p;
clrscr();
p=strstr(s,l);
if(p)
printf(“%s“,p);
else
printf(“NotFound!“);
getchar();
return0;
}
//功能:从字串” string1 onexxx string2 oneyyy”中寻找”yyy”
(假设xxx和yyy都是一个未知的字串)
char *s=”string1onexxxstring2oneyyy”;
char *p;
p=strstr(s,”yyy”);
if(p!=NULL)
printf(“%s”,p);
else
printf(“notfound\n“);
求C语言中怎么用strstr函数求!位置!
strstr()函数是标准C语言函数,在linux系统下,运行命令man strstr 可以看到strstr()函数原型为:
$ man strstr
SYNOPSIS
#include 《string.h》
char *strstr(const char *haystack, const char *needle);
DESCRIPTION
The strstr() function finds the first occurrence of the substring needle in the string haystack. The terminating ’\0’ characters are not compared.
函数功能描述: strstr()函数查找needle(第二个参数)在字符串haystack(第一个参数)中首次出现的位置。如果找到,则返回子串首位置的指针值,否则返回NULL。-函数
如果想将指针位置转换成相应的字符偏移位置,可以用返回指针与字符串haystack指针进行相减运算,得到偏移值。参考代码和运行结果如下: