首页 > 编程笔记

C语言strchr():在字符串中查找特定字符

strchr() 是 C语言的一个标准库函数,定义在<string.h>头文件中。

strchr() 函数的功能是在某个字符串中查找第一次出现的特定字符。该函数的原型如下:
char *strchr(const char *str, int ch);

参数

返回值

如果找到字符,则该函数返回一个指针,它指向的是字符 ch 第一次出现的位置;反之,如果没有在字符串中找到 ch,则返回NULL

注意,字符串结尾的空字符'\0'也视为 str 的一部分,因此可以通过定位'\0'得到一个指向字符串末尾的指针。

【实例】以下的 C语言代码示例说明了如何使用 strchr() 函数。
#include <stdio.h>
#include <string.h>

int main() {
    const char *myString = "Hello, World!";
    char ch = 'l';
   
    char *result = strchr(myString, ch);
   
    if (result) {
        printf("The character '%c' is found at position: %ld\n", ch, result - myString);
    } else {
        printf("The character '%c' was not found in the string.\n", ch);
    }
   
    return 0;
}
上述代码将在字符串 "Hello, World!" 中查找字符 'l',并输出其在字符串中第一次出现的位置。结果为:

The character 'l' is found at position: 2

请注意,数组索引是从 0 开始的,所以位置 2 实际上是字符串中的第三个字符。

推荐阅读