我正在解析文本文件。在解析时,我想跳过某些字符(空格,换行符,逗号,句点)。在PHP中,可以使用in_array(char, array)
检查数组中是否存在变量,但鉴于我们使用指针,事情明显不同。
我目前正在写这样的(借口奇怪的格式化)
if (c == ' ' ||
c == '\n' ||
c == '.' ||
c == ',') {
continue;
}
但感觉有点愚蠢。是否有更聪明/更紧凑的方式来执行这样的多重比较?
答案 0 :(得分:3)
试试这个:
switch(c) {
case ' ':
case '\n':
case '.:
case ',':
continue;
}
答案 1 :(得分:2)
另一种选择是使用strchr
检查给定字符是否在给定字符串中:
if (strchr(" \n.,", c)
continue;
答案 2 :(得分:1)
使用函数并传递带有字符的字符串:
_Bool Check( char a , char* str )
{
while( *str )
{
if( *str == a )
{
return true ;
}
str++ ;
}
return false ;
}
Check( c , ",.\n " ) ;