在 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(查找字符串中首次出现的子字符串),等等。