c语言入门基础知识点 C语言入门知识:strchr函数
C语言入门知识:strchr函数
导语:strchr函数原型:extern char *strchr(const char *s,char c);查找字符串s中首次出现字符c的位置。下面是C语言strchr函数知识,欢迎阅读:
C语言
char *strchr(const char* _Str,int _Val)
char *strchr(char* _Str,int _Ch)
头文件:#include
功能:查找字符串s中首次出现字符c的位置
说明:返回首次出现c的位置的指针,返回的地址是被查找字符串指针开始的第一个与Val相同字符的指针,如果s中不存在c则返回NULL。
返回值:成功则返回要查找字符第一次出现的位置,失败返回NULL
参数编辑
haystack
输入字符串。
needle
如果 needle 不是一个字符串,那么它将被转化为整型并且作为字符的.序号来使用。
before_needle
若为 TRUE,strstr 将返回 needle 在 haystack 中的位置之前的部分。
返回: 返回字符串的一部分或者 FALSE(如果未发现 needle)。
例子:
1
2
3
4
5
6
7
$email='name@';
$domain=strchr($email,'@');
echo$domain;//打印@
$user=strchr($email,'@',true);//从PHP5.3.0起
echo$user;//打印name
?>
函数公式编辑
实现:
1
2
3
4
5
6
7
8
char*strchr(char*s,charc)
{
while(*s!=''&&*s!=c)
{
++s;
}
return*s==c?s:NULL;
}
范例
举例1:(在Visual C++ 6.0中运行通过)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include
#include
int main(void)
{
char string[17];
char *ptr,c='r';
strcpy(string,"Thisisastring");
ptr=strchr(string,c);
if(ptr)
printf("Thecharacter%cisatposition:%s",c,ptr);
else
printf("Thecharacterwasnotfound");
return0;
}
运行结果:
The character r is at position: ring
请按任意键继续. . .
举例2:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// strchr.c
#include
#include
int main
{
char temp[32];
memset(temp,0,sizeof(temp));
strcpy(temp,"Golden Global View");
char *s = temp;
char *p,c='v';
p=strchr(s,c);
if(p)
printf("%s",p);
else
printf("Not Found!"); return 0;
}
运行结果:Not Found!Press any key to continue
举例3:
1
2
3
4
5
6
7
8
9
10
11
#include
#include
void main
{
char answer[100],*p;
printf("Type something:");
fgets(answer,sizeof answer,stdin);
if((p = strchr(answer,'')) != NULL)
*p = '';//手动将位置处的值变为0
printf("You typed "%s"",answer);
}
fgets不会像gets那样自动地去掉结尾的,所以程序中手动将位置处的值变为,代表输入的结束。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 1156092664@qq.com 举报,一经查实,本站将立刻删除。