| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- /************************************************************************
- * 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__ */
|