strchr函数

142 阅读1分钟

在 C 语言中,strchr 函数用于查找字符串中第一次出现的指定字符。它是 C 标准库函数之一,定义在 <string.h> 头文件中。

函数原型

char *strchr(const char *str, int c);

参数

  • str: 指向要搜索的空终止字符串的指针。
  • c: 要搜索的字符(以 int 形式传递,但通常传递一个 char)。

返回值

  • 如果字符 c 在字符串 str 中出现,strchr 返回指向第一次出现的 c 的指针。
  • 如果字符 c 未在字符串 str 中出现,则返回 NULL

示例

#include <stdio.h>
#include <string.h>

int main() {
    const char *str = "Hello, World!";
    char *found = strchr(str, 'W');

    if (found) {
        printf("字符 'W' 在字符串中的位置是: %s\n", found);
    } else {
        printf("字符 'W' 未在字符串中找到。\n");
    }

    return 0;
}

在这个例子中,strchr 将查找字符串 "Hello, World!" 中第一次出现的字符 'W'。因为 'W' 存在于字符串中,所以 found 将指向 "World!",然后打印出 found 指向的字符串。

注意,strchr 函数区分大小写,所以 'w' 和 'W' 是不同的字符。如果需要不区分大小写的搜索,可以使用 strcasestr(在某些系统上可用)或自定义函数。

strchr 函数的名字是 “string character” 的缩写。这个名称反映了函数的功能,即在字符串(string)中查找单个字符(character)的首次出现。在 C 语言的标准库中,这种命名方式很常见,旨在简洁地描述函数的用途。类似的函数还有 strrchr(查找字符串中最后一次出现的字符),strstr(查找字符串中首次出现的子字符串),等等。