函数名称: strchr
函数原型: char* strchr(char* str,char ch);
函数功能: 找出str指向的字符串中第一次出现字符ch的位置
函数返回: 返回指向该位置的指针,如找不到,则返回空指针
参数说明: str-待搜索的字符串,ch-查找的字符
所属文件:
#include
#include
int main()
{
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;
}
---------------------------------
1.函数的使用
The strchr() function searches for the first occurrence of a string inside another string.
strchr()函数的作用是:返回一个字符在另一个字符串中首次出现的位置到后者末尾的子字符串(大小写敏感)。
This function returns the rest of the string (from the matching point), or FALSE, if the string to search for is not found.
如果这个函数执行成功,将返回剩余字符串(存在相匹配的字符);如果没有找到相匹配的字符,则反会False。
This function is an alias of the strstr() function.
这个函数的功能与strstr()函数相类似。
Parameter参数
Description描述
string
Required. Specifies the string to search
必要参数。指定需要搜索的字符串
search
Required. Specifies the string to search for. If this parameter is a number, it will search for the character matching the ASCII value of the number
必要参数。指定搜索的对象。如果这个参数是一个数值,那么他将搜索与这个数值的ASCII值相匹配的字符
2.注意点
Note: This function is binary safe.
注意:strchr()函数是二进制精确[binary safe]的。
Note: This function is case-sensitive. For a case-insensitive search, use stristr().
注意:这个函数是区分字母大小写的。如果你想在不区分字母大小写的情况下进行搜索,那么可以使用stristr()函数。
3.使用举例1
函数名: strchr
功 能: 在一个串中查找给定字符的第一个匹配之处\
用 法: char *strchr(char *str, char c);
程序例:
#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;
} 4.使用举例2:
char buf[200];
int cur=m_prj.GetCurSel();//得到Combox控件当前的选项"工作调查|8|9"
m_prj.GetLBText(cur,buf);//将当前选项的值赋给buf
char *p,*q;
q=strchr(buf,'|');//q为|8|9
memset(xmmc,0,sizeof(xmmc));
strncpy(xmmc,buf,q-buf);//q的地址减去buf的地址,得到“工作调查“
p=q;
q++;
q=strchr(q,'|');//q为"|9"
memset(wjbh,0,sizeof(wjbh));
p++;
strncpy(wjbh,p,q-p);//得到8
memset(xmbh,0,100);
q++;
strcpy(xmbh,q);//得到9