0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
/*!
* \brief is Printable Character
* \param c Character
* \return true/false
*/
static int isPrintableChar(char c)
{
if ((c < 'A' || c > 'Z') && (c < 'a' || c > 'z')
&& (c < '0' || c > '9') && (c != ' ') && (c != '\'')
&& (c != '(') && (c != ')') && (c != '+') && (c != ',')
&& (c != '-') && (c != '.') && (c != '/') && (c != ':')
&& (c != '=') && (c != '?') && (c != '_') && (c != '\\')
&& (c != '@') && (c != '"') && (c != '%') && (c != '$')
&& (c != '&') && (c != '#') && (c != ';')
//&& (c != 'В_')
&& (c != '<') && (c != '>') && (c != ']') && (c != '{')
&& (c != '}') && (c != '*') && (c != '^')) {
return 0;
} else {
return 1;
}
}
из открытого проекта chan_sccp
даже не знаю почему не использовать стандартный макрос isprint
#define isprint(c) ((c) >= ' ' && (c) <= '~')
Запостил:
ddkprog ,
02.03.2011 (Updated 25.03.2018 )
И кроме того здесь пропущены некоторые символы - баг или фича?
Это дословный перевод. Кстати, куда дели '['?
не дословный, а гораздо лучший:)
причем по скорости тоже.
А не_дословный - это сразу [' ' .. '~']-['['];
дословный это когда:
if (c <> '(') and ....
интересно, что он задумывал?