strchr,在C语言中strchr 是什么意思?
strchr,在C语言中strchr 是什么意思?详细介绍
本文目录一览: strchr函数有什么用法?最后输出的结果是什么?
1、功能:查找一个字符c在另一个字符串str中末次出现的位置(也就是从str的右侧开始查找字符c首次出现的位置),并返回从字符串中的这个位置起,一直到字符串结束的所有字符。如果未能找到指定字符,那么函数将返回NULL。
2、输出的结果:cd
函数原型:char *strchr(const char *str, int c)
参数:str-- 要被检索的 C 字符串。c-- 在 str 中要搜索的字符。
strrchr(a,'c')//在被检索的 C 字符串“a”即“abcd” 中搜索字符“c”
扩展资料
strchr函数的实现:
char* strchr(char *s, char c)
{
while(*s != '\0' && *s != c)
{
++s;
}
return *s==c ? s : NULL;
}
参考资料:百度百科 - strchr函数
c语言如何查找字符串?
C语言中的标准函数库中的strchr()函数可以实现查找字符串中的某个字符。
C语言strchr()函数:
查找某字符在字符串中首次出现的位置
头文件:#include
strchr() 用来查找某字符在字符串中首次出现的位置,其原型为:
char * strchr (const char *str, int c);
【参数】str 为要查找的字符串,c 为要查找的字符。
strchr() 将会找出 str 字符串中第一次出现的字符 c 的地址,然后将该地址返回。
注意:字符串 str 的结束标志 NUL 也会被纳入检索范围,所以 str 的组后一个字符也可以被定位。
【返回值】如果找到指定的字符则返回该字符所在地址,否则返回 NULL。
返回的地址是字符串在内存中随机分配的地址再加上你所搜索的字符在字符串位置。设字符在字符串中首次出现的位置为 i,那么返回的地址可以理解为 str + i。
提示:如果希望查找某字符在字符串中最后一次出现的位置,可以使用 strrchr() 函数。
C语言库函数strchr的全称是什么?
strchr的全称就是string char,函数原型为:
char *strchr( char *s, int ch ); //在s字符串中,查找字符ch第一次出现的位置, 若找到,返回相应位置指针,否则返回NULL
在C语言中strchr 是什么意思?
我理解为比如有一个字符串:abc dbc cdb
以空格为分隔,分成abc dbc cdb三个字符串,然后再按cdb dbc abc排列。
原型:extern char *strchr(char *s,char c);
用法:#include
功能:查找字符串s中首次出现字符c的位置
说明:返回首次出现c的位置的指针,如果s中不存在c则返回NULL。
举例:
// strchr.c
#include
#include
main()
{
char *s="Golden Global View";
char *p;
clrscr();
strchr(s,'V');
if(p)
printf("%s",p);
else
printf("Not Found!");
getchar();
return 0;
}
strchr()函数的作用是:返回一个字符串在另一个字符串中首次出现的位置到后者末尾的子字符串.
#include
#include
char *GetStr(char *Buffer,int n,char Split,char *Target);
int main(int argc, char *argv[])
{
int i,j,k;
char split;
char buffer[512];
char target[512];
char tmp_buff[128];
char tmp_targ[128];
char tmp_swap[128];
FILE *pf;
split = ',';
i=0;j=0;k=0;
pf = fopen("1.txt","r");
while ( NULL!=(fgets(buffer,sizeof(buffer),pf)) )
{
j=0;
memset(tmp_buff,0,sizeof(tmp_buff));
if((buffer[strlen(buffer)-1]==0x0a)||(buffer[strlen(buffer)-1]==0x0d))
strncpy(tmp_buff,buffer,strlen(buffer)-1);
else
strcpy(tmp_buff,buffer);
for(i=0;i
<strlen(tmp_buff);i++)
if(tmp_buff[i]==split)
j++;
for(i=0;i
<j+1;i++)
{
memset(target,0,sizeof(target));
GetStr(tmp_buff,i,split,target);
/*strrev(target);*/
for(k=strlen(target)-1;k>=0;k--)
printf("%c",target[k]);
if(i!=j)
printf("%c",split);
}
printf("\n");
memset(buffer,0,sizeof(buffer));
}
fclose(pf);
}
char *GetStr(char *Buffer,int n,char Split,char *Target)
{
int i,j=0;
memset(Target,0,sizeof(Target));
for(i=0;i
<strlen(buffer);i++)
{
if((Buffer[i]!=Split)&&(n==0))
Target[j++]=Buffer[i];
if(Buffer[i]==Split)
n--;
if((n<0)||(Buffer[i]==0x0d)||(Buffer[i]==0x0a))
break;
}
return (Target);
}
因为不知道题目要求倒排之后的要求,
我就把结果输出到屏幕上了.
1.txt的内容如下:
123,abc,asd
321,abc
屏幕输出结果:
321,cba,dsa
123,cba
http://man.chinaunix.net/develop/c&c++/linux_c/default.htm
strchr所在头文件:#include
功能:用来查找某字符在字符串中首次出现的位置。
函数原型:char * strchr (const char *str, int c);
参数说明:str 为要查找的字符串,c 为要查找的字符。
返回值:如果找到指定的字符则返回该字符所在地址,否则返回 NULL。
注意:字符串 str 的结束标志 NUL 也会被纳入检索范围,所以 str 的组后一个字符也可以被定位。
示例:
#include
#include
#include
int main(){ char *s = "0123456789012345678901234567890"; char *p; p = strchr(s, '5'); printf("%ld\n", s); printf("%ld\n", p); system("pause"); return 0; }
</strlen(buffer);i++)
</j+1;i++)
</strlen(tmp_buff);i++)
C语言strchr函数,其中chr是什么单词的缩
函数原型:extern char *strchr(char *str,char character)
参数说明:str为一个字符串的指针,character为一个待查找字符。
所在库名:#include
函数功能:从字符串str中寻找字符character第一次出现的位置。
应该是character的简写
是char的缩写, 也就是字符. 在string中查找字符的意思.
而char实际上是 character的缩写.
不过在说C语言的时候, 平时说字符都是char的.
strchr与strstr函数
假设字符串s ,s1 ,字符 c 。
要判断s中有没有c,就用 strchr(s,c); 如有则返回1,没有就返回0 。
判断s中有没有串s1(也就是判断s1是不是s的一个子串),用 strstr(s,s1) ; 有则返回1,没有就返回0 。
原型:extern char *strchr(char *s,char c);
用法:#include
功能:查找字符串s中首次出现字符c的位置
说明:返回首次出现c的位置的指针,如果s中不存在c则返回NULL。
举例:
// strchr.c
#include
#include
main()
{
char *s="Golden Global View";
char *p;
clrscr();
strchr(s,'V');
if(p)
printf("%s",p);
else
printf("Not Found!");
getchar();
return 0;
}
在C语言中 strchr 和 strstr函数都被包含在
头文件中,也就是要调用它们时要在程序前面包含
头文件,也就是写这个语句:#include
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语言书最后面中都有的,你要学会去多看看书,要会自己解决问题。学编程是要有耐心的,学久了就会懂了。
热心观众还是挺多的
char
*strchr(char
*str,
char
c);
在一个串中查找给定字符的第一个匹配之处
char
*strstr(char
*str1,
char
*str2);
在串中查找指定字符串的第一次出现
区别就是一个是招字符,一个是找字符串
#include
#include
int
main(void)
{
char
string[15];
char
*ptr,
c
=
'r';
strcpy(string,
"This
is
a
string");
ptr
=
strchr(string,
c);
if
(ptr)
printf("The
character
%c
is
at
position:
%d\n",
c,
ptr-string);
else
printf("The
character
was
not
found\n");
return
0;
}
#include
#include
int
main(void)
{
char
*str1
=
"Borland
International",
*str2
=
"nation",
*ptr;
ptr
=
strstr(str1,
str2);
printf("The
substring
is:
%s\n",
ptr);
return
0;
}
c++ 中!strchr用法
cout<<"字符:"<
<c<<"位于第"<<p<<endl;
cout<<"字符:"<
<c<<"位于第"<<(p-ch1)<<endl;
strchr函数原型:extern char *strchr(const char *s,char c);查找字符串s中首次出现字符c的位置。
char *strchr(const char* _Str,int _Val)
char *strchr(char* _Str,int _Ch)
头文件:#include
功能:查找字符串s中首次出现字符c的位置
说明:返回首次出现c的位置的指针,返回的地址是被查找字符串指针开始的第一个与Val相同字符的指针,如果s中不存在c则返回NULL。
返回值:成功则返回要查找字符第一次出现的位置,失败返回NULL
</c<<"位于第"<<(p-ch1)<<endl;
</c<<"位于第"<<p<
C语言中,strchr()函数是从字符串右边还是左边扫描?返回值是什么?将其返回值输出是什么?谢谢了!
原型:extern char *strchr(const char *s,char c);
const 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
举例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: %d\n", c, ptr-string);
else
printf("The character was not found\n");
return 0;
}
运行结果:The character r is at position: 12Press any key to continue
是从左右开始的.从第一个字符开始比较,一个字符串在另一个字符串里面返回相同的第一个字符的地址
格式为,strchr(s,'c'),表示查找字符串s里面c的位置,返还c的位置,如果找不到则返还NULL.
举个例子:
#include
#include
int main()
{
char a[20]={"china"};
printf("%c",*strchr(a,'a'));//查找a[20]中的a,返回他的地址,这里应该还是输出a
return 0;
}//查找应该是从左往右的
php 中的strstr()与strchr()的区别
strchr
功能:查找字符串s中首次出现字符c的位置
说明:返回首次出现c的位置的指针,如果s中不存在c则返回NULL。
strstr
函数搜索一个字符串在另一个字符串中的第一次出现。
该函数返回字符串的其余部分(从匹配点)。如果未找到所搜索的字符串,则返回
false。
?php
<br
echo
strstr("Hello
world!","world");
?>
输出:
world!
</br
php 中的strstr()与strchr()的区别
可以通过函数的定义来区别:
1.strstr:
[cpp] view plaincopy
char *strstr(const char *haystack, const char *needle)
可见,strstr函数搜索的是一个const char*型的数据,即字符串常量.
2.strchr:
[cpp] view plaincopy
char *strchr(const char *str, int c)
而strchr搜索的是一个int型的数据,即字符.
3.strrchr
[cpp] view plaincopy
char *strrchr(const char *str, int c)
另外,strrchr返回字符c在字符串str中最后出现的位置.
strchr 功能:查找字符串s中首次出现字符c的位置 说明:返回首次出现c的位置的指针,如果s中不存在c则返回NULL。
strstr 函数搜索一个字符串在另一个字符串中的第一次出现。
该函数返回字符串的其余部分(从匹配点)。如果未找到所搜索的字符串,则返回 false。
<!--?phpecho strstr("Hello world!","world");
?>
输出:
world!
strchr()和strstr()是同义函数。功能效用完全一样。
echo strstr( 'abc@123.com', '@'); //默认返回查找值@之后的尾部,@123.com
echo strstr('abc@123.com', '@', TRUE); //参数设定true, 返回查找值@之前的首部,abc