(1)strchr:char * strchr ( const char * str, int character )
(2)strchr指的是从一个字符串str中第一次出现该字符character的位置,这里的int表示的是字符的ascii值
(3)真正传参的话,character可以为字符,也可以其对应的ascii值
(4)strrchr:char * strrchr ( const char * str, int character )
(5)strchr指的是从一个字符串str中最后一次出现该字符character的位置,这里的int表示的是字符的ascii值
(7)注意,两个函数的返回值是地址,不存在返回的是NULL,存在和首地址相减,可以得到下标
(8)两个函数都在头文件C语言:#include<string.h>,C++:#include<cstring>
#include <string.h>
#include <stdio.h>
char ch = 'r';
char string[] = "The quick brown dog jumps over the lazy fox";
char fmt1[] = " 1 2 3 4 5";
char fmt2[] = "12345678901234567890123456789012345678901234567890";
int main() {
char *pdest;
int result;
printf("String to be searched: \n\t\t%s\n",string);
printf("\t\t%s\n\t\t%s\n\n",fmt1,fmt2);
printf("Search char:\t%c\n",ch);
/* Search forward. */
pdest = strchr(string,ch);
result = pdest - string + 1;
if(pdest != NULL)
printf("Result:\tfirst %c found at position %d\n\n",
ch,result);
else
printf("Result:\t%c not found\n");
/* Search backward. */
pdest = strrchr(string,ch);
result = pdest - string + 1;
if(pdest != NULL)
printf("Result:\tlast %c found at position %d\n\n", ch,result);
else
printf("Result:\t%c not found\n");
return 0;
}