ctype.h 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. #ifndef _CTYPE_H
  2. #define _CTYPE_H
  3. #ifdef __cplusplus
  4. extern "C" {
  5. #endif
  6. #include <features.h>
  7. int isalnum(int);
  8. int isalpha(int);
  9. int isblank(int);
  10. int iscntrl(int);
  11. int isdigit(int);
  12. int isgraph(int);
  13. int islower(int);
  14. int isprint(int);
  15. int ispunct(int);
  16. int isspace(int);
  17. int isupper(int);
  18. int isxdigit(int);
  19. int tolower(int);
  20. int toupper(int);
  21. static __inline int __isspace(int _c)
  22. {
  23. return _c == ' ' || (unsigned)_c-'\t' < 5;
  24. }
  25. #define isalpha(a) ((((unsigned)(a)|32)-'a') < 26)
  26. #define isdigit(a) (((unsigned)(a)-'0') < 10)
  27. #define islower(a) (((unsigned)(a)-'a') < 26)
  28. #define isupper(a) (((unsigned)(a)-'A') < 26)
  29. #define isprint(a) (((unsigned)(a)-0x20) < 0x5f)
  30. #define isgraph(a) (((unsigned)(a)-0x21) < 0x5e)
  31. #define isspace(a) __isspace(a)
  32. #if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \
  33. || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) \
  34. || defined(_BSD_SOURCE)
  35. #define __NEED_locale_t
  36. #include <bits/alltypes.h>
  37. int isalnum_l(int, locale_t);
  38. int isalpha_l(int, locale_t);
  39. int isblank_l(int, locale_t);
  40. int iscntrl_l(int, locale_t);
  41. int isdigit_l(int, locale_t);
  42. int isgraph_l(int, locale_t);
  43. int islower_l(int, locale_t);
  44. int isprint_l(int, locale_t);
  45. int ispunct_l(int, locale_t);
  46. int isspace_l(int, locale_t);
  47. int isupper_l(int, locale_t);
  48. int isxdigit_l(int, locale_t);
  49. int tolower_l(int, locale_t);
  50. int toupper_l(int, locale_t);
  51. int isascii(int);
  52. int toascii(int);
  53. #define _tolower(a) ((a)|0x20)
  54. #define _toupper(a) ((a)&0x5f)
  55. #endif
  56. #ifdef __cplusplus
  57. }
  58. #endif
  59. #endif