/************************************************************************ * AUTHOR: NiuJiuRu * FILENAME: swchar.h * DESCRIPTION: 字符操作扩展函数 * NOTE: * HISTORY: * 1, [2010-08-17] created by NiuJiuRu ***********************************************************************/ #ifndef __SWCHAR_H__ #define __SWCHAR_H__ // 判断字符c是否为"a-z"或"A-Z"的英文字符 #ifndef xisalpha #define xisalpha(c) (((c) >= 'a' && (c) <= 'z') || ((c) >= 'A' && (c) <= 'Z')) #endif // 判断字符c是否为"a-z"的小写英文字符 #ifndef xislower #define xislower(c) ((c) >= 'a' && (c) <= 'z') #endif // 判断字符c是否为"A-Z"的大写英文字符 #ifndef xisupper #define xisupper(c) ((c) >= 'A' && (c) <= 'Z') #endif // 判断字符c是否为"0-9"的数字字符 #ifndef xisdigit #define xisdigit(c) ((c) >= '0' && (c) <= '9') #endif // 判断字符c是否为"0-9"或"a-f"或"A-F"的16进制数字字符 #ifndef xisxdigit #define xisxdigit(c) (((c) >= '0' && (c) <= '9') || ((c) >= 'a' && (c) <= 'f') || ((c) >='A' && (c) <= 'F')) #endif // 判断字符c是否是控制字符(0x00-0x1F、0x7F) #ifndef xiscntrl #define xiscntrl(c) (((c) >= 0x00 && (c) <= 0x1F) || (c) == 0x7F) #endif // 判断字符c是否为标点符号或特殊符号 #ifndef xispunct #define xispunct ispunct #endif // 判断字符c是否是空白字符(0x09-0x0D、0x20) #ifndef xisspace #define xisspace(c) (((c) >= 0x09 && (c) <= 0x0D) || (c) == 0x20) #endif #ifdef __cplusplus extern "C" { #endif /* 在一个char内, 根据外部输入的位置信息(0 <= pos <= 7), 得到它所对应的二进制位的值 */ char sw_char_getBit(char c, int pos); /* 在一个char内, 根据外部输入的位置信息(0 <= pos <= 7), 设置它所对应的二进制位的值 */ bool sw_char_setBit(char *c, int pos, char bit); /* 在一个char数组内, 根据外部输入的位置信息(pos >= 0), 得到它所对应的二进制位的值 */ char sw_chararry_getBit(const char *buf, int bufSize, int pos); /* 在一个char数组内, 根据外部输入的位置信息(pos >= 0), 设置它所对应的二进制位的值 */ bool sw_chararry_setBit(char *buf, int bufSize, int pos, char bit); #ifdef __cplusplus } #endif #endif /* __SWCHAR_H__ */