您的当前位置:首页正文

strchr函数

来源:一二三四网
strchr

编辑

strchr函数原型:extern char *strchr(const char *s,char c);查找字符串s中首次出现字符c的位置。

目录

1简介

2函数实现 3例子

1简介

char *strchr(const char* _Str,int _Val) char *strchr(char* _Str,int _Ch) 头文件:#include

功能:查找字符串s中首次出现字符c的位置

说明:返回首次出现c的位置的指针,返回的地址是字符串在内存中随机分配的地址再加上你所搜索的字符在字符串位置,如果s中不存在c则返回NULL。

返回值:Returns the address of the first occurrence of the character in the string if successful, or NULL otherwise

2函数实现

实现:

1 2 3 4 5 6 7 8 char* strchr(char* s,char c) {

while(*s != '\\0' && *s != c) {

++s; }

return *s == c ?s:NULL; }

3例子

举例1:(在Visual C++ 6.0中运行通过)

#include #include int main(void){ char string[17]; char *ptr, c = 'r'; strcpy(string, \"This is a string\"); ptr = strchr(string, c); if (ptr) printf(\"The character %c is at position: %s\\n\

运行结果:

The character r is at position: ring 请按任意键继续. . . 举例2:

// 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\

运行结果:Not Found!Press any key to continue 举例3:

#include #include void main(){ char answer[100],*p; printf(\"Type something:\\n\"); fgets(answer,sizeof answer,stdin); if((p = strchr(answer,'\\n')) != NULL) *p = '\\0';//手动将\\n位置处的值变为\\0,printf(\"You typed \\\"%s\\\"\\n\

fgets不会像gets那样自动地去掉结尾的\\n,所以程序中手动将\\n位置处的值变为\\0,代表输入的结束。

因篇幅问题不能全部显示,请点此查看更多更全内容

Top