Advertisement
wojiaocbj

cbj work 1

Sep 12th, 2022
149
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.05 KB | None | 0 0
  1. #ifndef CBJ_CTYPE_WORK
  2. #define CBJ_CTYPE_WORK
  3. //reference:https://en.cppreference.com/w/c/string/byte
  4.  
  5. #define cbj_iscntrl(c) (((c)<' ')||((c)==0x7f))
  6. #define cbj_isprint(c) (((c)>=' ')&&((c)<0x7f))
  7. #define cbj_isspace(c) (((c)==' ')||((c)>='\t')&&((c)<='\r'))
  8. #define cbj_isblank(c) (((c)==' ')||((c)=='\t'))
  9. #define cbj_isgraph(c) (((c)>' ')&&((c)<='~'))
  10. //#define cbj_ispunct(c) ((((c)>='!')&&((c)<='//'))||((c>=':')&&(c<='@'))||(((c)>='[')&&((c)<='`'))||(((c)>='{')&&((c)<='~')))
  11.  
  12. #define cbj_isupper(c) (((c)>='A')&&((c)<='Z'))
  13. #define cbj_islower(c) (((c)>='a')&&((c)<='z'))
  14. #define cbj_isalpha(c) (cbj_isupper(c)||cbj_islower(c))
  15. #define cbj_isdigit(c) (((c)>='0')&&((c)<='9'))
  16. #define cbj_isxdigit(c) (cbj_isdigit(c)||(((c)>='a')&&((c)<='f'))||(((c)>='A')&&((c)<='f')))
  17. #define cbj_isalnum(c) (cbj_isdigit(c)||cbj_isalpha(c))
  18. #define cbj_ispunct(c) (cbj_isgraph(c)&&(!cbj_isalnum(c)))
  19.  
  20. #define cbj_tolower(c) ((cbj_isupper(c))?((c)+32):(c))
  21. //'a'[97]-'A'[65]=32
  22. #define cbj_toupper(c) ((cbj_islower(c))?((c)-32):(c))
  23.  
  24.  
  25. #endif // !CBJ_CTYPE_WORK
  26.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement