C语言中查找字符串中指定字符的方法:
1.()用于查找某个字符在字符串中首次出现的位置。 它的原型是:
char * strchr (const char *str, int c);
[参数] str 为要查找的字符串,c 为要查找的字符。
()会查找str字符串中字符c第一次出现的地址,然后返回该地址。
注意:字符串str的结束标志NUL也会包含在搜索范围内,因此也可以定位到str组后面的字符。
[返回值] 如果找到指定的字符,则返回该字符的地址,否则返回NULL。
返回的地址是内存中随机分配的字符串地址加上您要搜索的字符在字符串中的位置。 假设该字符在字符串中第一次出现的位置为i,那么返回的地址可以理解为str + i。
提示:如果要查找字符串中某个字符最后一次出现的位置,可以使用 () 函数。
[例子] 找出字符5第一次出现的位置。
#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; }
输出结果:
12016464 12016469
2.()函数用于查找字符串中最后一次出现的字符。 它的原型是:
char * strrchr(const char *str, int c);
[参数] str 为要查找的字符串,c 为要查找的字符。
() 会查找 str 字符串中最后一次出现字符 c 的地址,然后返回该地址。
注意:字符串str的结束标志NUL也会包含在搜索范围内,因此也可以定位到str组后面的字符。
[返回值] 如果找到,则返回该字符最后出现的位置,否则返回NULL。
返回的地址是内存中随机分配的字符串地址加上您要搜索的字符在字符串中的位置。 假设该字符在字符串中第一次出现的位置为i,那么返回的地址可以理解为str + i。
提示:如果要查找某个字符在字符串中第一次出现的位置,可以使用 () 函数。
示例:查找最后一次出现的字符 5。
#include#include #include int main(){ char *s = "0123456789012345678901234567890"; char *p; p = strrchr(s, '5'); printf("%ld\n", s); printf("%ld\n", p); system("pause"); return 0; }
结果:
12999504 12999529