C语言如何在字符串中搜索指定字符中的任意一个
代码狂想家
2024-04-02 17:21
短信预约 C/C++-IT技能 免费直播动态提醒
这篇文章将为大家详细讲解有关C语言如何在字符串中搜索指定字符中的任意一个,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
C语言中搜索字符串中指定字符的任意一个
C语言提供了多种函数来处理字符串,其中strchr()
函数和strcspn()
函数可用于在字符串中搜索指定字符中的任意一个。
1. strchr() 函数
strchr()
函数在字符串中搜索第一个与指定字符匹配的字符。如果找到匹配的字符,它返回指向该字符的指针;如果未找到,则返回 NULL。该函数的语法如下:
char *strchr(const char *str, int c);
str
:要搜索的字符串。c
:要搜索的字符,以 ASCII 码形式表示。
示例:
#include <stdio.h>
#include <string.h>
int main()
{
char str[] = "Hello, world!";
char c = "o";
char *ptr;
ptr = strchr(str, c);
if (ptr != NULL) {
printf("Found character "%c" at position %d
", c, (int)(ptr - str));
} else {
printf("Character "%c" not found
", c);
}
return 0;
}
输出:
Found character "o" at position 4
2. strcspn() 函数
strcspn()
函数在字符串中搜索第一个不在指定字符集中的字符。它返回从字符串开头到第一个不在字符集中的字符之间的字符数。如果字符串的开头不包含任何不在字符集中的字符,则返回字符串的长度。该函数的语法如下:
size_t strcspn(const char *str, const char *reject);
str
:要搜索的字符串。reject
:要搜索的字符集,是一个以 NUL 字符终止的字符串。
示例:
#include <stdio.h>
#include <string.h>
int main()
{
char str[] = "Hello, world!";
char reject[] = "aeiou";
size_t len;
len = strcspn(str, reject);
printf("The first character not in "%s" is at position %d
", reject, len);
return 0;
}
输出:
The first character not in "aeiou" is at position 1
注意要点:
strchr()
函数只搜索第一个匹配的字符,而strcspn()
函数搜索所有匹配的字符。strchr()
函数返回一个字符指针,而strcspn()
函数返回一个无符号整数。- 字符集中的字符可以是任何 ASCII 码值,也可以使用转义序列表示。
- 以上函数都对大小写敏感。
以上就是C语言如何在字符串中搜索指定字符中的任意一个的详细内容,更多请关注编程学习网其它相关文章!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341