gpt4 book ai didi

检查字符串中的正确字符

转载 作者:行者123 更新时间:2023-12-02 05:25:15 26 4
gpt4 key购买 nike

有没有更简单的方法在 c 中执行以下操作?

unsigned short check_str(char *str)
{
while (*str)
{
if (!(*str == ' ' || *str == '(' || *str == ')' ||
*str == '1' || *str == '2' || *str == 'a' ||
*str == 'x' || *str == 'b'))
return 0;
str++;
}
return 1;
}

基本上它会检查字符串中列出的字符以外的任何字符,如果找到则返回 false。有更简单的功能吗?

最佳答案

你想要标准库函数strspn :

strspn(str, " *(12axb") == strlen(str);

它将计算 str 中的字符,直到它看到第一个不是第二个参数中的字符之一。因此,如果它没有找到任何不匹配的字符,它将返回字符串的长度。

一种更快的写法是检查 \0 而不是调用 strlen:

str[strspn(str, " *(12axb")] == '\0';

关于检查字符串中的正确字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1528469/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com