c - 多字符比较,怎么写才更聪明?

标签 c coding-style char

我正在解析一个文本文件。解析时,我想跳过某些字符(空格、换行符、逗号、句点)。在 PHP 中,可以使用 in_array(char, array) 检查数组中是否存在变量,但鉴于我们使用的是指针,情况显然不同。

我目前是这样写的(请原谅奇怪的格式)

if (c == ' '  || 
    c == '\n' || 
    c == '.'  || 
    c == ',') {

  continue;
}

但是感觉有点傻。是否有更智能/更紧凑的方式来执行这样的多重比较?

最佳答案

另一种选择是使用 strchr检查给定字符是否在给定字符串中:

if (strchr(" \n.,", c)
    continue;

关于c - 多字符比较,怎么写才更聪明?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26593618/

相关文章:

创建 4D 查找表

c - 查找二进制数中的尾随 0

c - 两种情况下指针的内存分配相同吗?

sql - 用户定义的函数 - 它们是糟糕的编码实践吗?

asp.net-mvc - 重构经典 ASP 的最佳实践?

c - 字符工具函数

c++ - 在 pragma 并行指令中将数组声明为共享变量并稳定代码

javascript - 将绑定(bind)应用于整个 dom 或每个需要它的单独元素?

C++ 错误 : deduced conflicting types for parameter 'T' string vs const char *

java - 如何遍历二维字符数组在java中搜索单词?