home *** CD-ROM | disk | FTP | other *** search
/ The C Users' Group Library 1994 August / wc-cdrom-cusersgrouplibrary-1994-08.iso / vol_300 / 309_01 / ctype.h < prev    next >
Text File  |  1990-03-20  |  2KB  |  138 lines

  1. /* ctype.h    */
  2.  
  3. #code
  4.  
  5. isascii(ch)
  6. char ch;
  7. {
  8.         return ( (ch & 0xff) < 0x80 );
  9. }
  10.  
  11. iscntrl(ch)
  12. char ch;
  13. {
  14.         return( (ch == 0x7f) || ((ch >= 0x00) && (ch <= 0x1f)));
  15. }
  16.  
  17. isdigit(ch)
  18. char ch;
  19. {
  20.         return( (ch >= 0x30) && (ch <= 0x39 ) );
  21. }
  22.  
  23.  
  24. isgraph(ch)
  25. char ch;
  26. {
  27.         return( (ch >= 0x21) && (ch <= 0x7e) );
  28. }
  29.  
  30. islower(c)
  31. char c;
  32. {
  33.         return ( (c >='a') && (c <='z') );
  34. }
  35.  
  36. isprint(c)
  37. char c;
  38. {
  39.         return ( (c >= 0x20) && (c <= 0x7e));
  40. }
  41.  
  42. isspace(c)
  43. char c;
  44. {
  45.         return ( (c == ' ') || ( (c >= 0x09) && (c <= 0x0d)) );
  46. }
  47.  
  48. isupper(c)
  49. char c;
  50. {
  51.         return ( (c >= 'A') && (c <= 'Z') );
  52. }
  53.  
  54. isxdigit(c)
  55. char c;
  56. {
  57.    int result;
  58.    result = isdigit(c);
  59.    result = result | ( (c >='A') && (c <='F'));
  60.    result = result | ( (c >='a') && (c <='f'));
  61.    return result;
  62. }
  63.  
  64. isalpha(c)
  65. char c;
  66. {
  67.         return( islower(c) || isupper(c) );
  68. }
  69.  
  70. isalnum(c)
  71. char c;
  72. {
  73.         return( islower(c) || isupper(c) || isdigit(c) );
  74. }
  75.  
  76. ispunct(c)
  77. char c;
  78. {
  79.         return( iscntrl(c) || isspace(c) );
  80. }
  81.  
  82. toascii(c)
  83. char c;
  84. {
  85.         return( c & 0x7f);
  86. }
  87.  
  88. tolower(c)
  89. char c;
  90. {
  91.         return( c | 0x20 );
  92. }
  93.  
  94. toupper(c)
  95. char c;
  96. {
  97.         return( c & 0xdf );
  98. }
  99.  
  100. /* convert an integer into an ascii string, buffer should be 7 characters long
  101.    and will be null terminated on return */
  102. itoa( value, buffer )
  103. int value;
  104. char *buffer;
  105. {
  106.    int x, y;
  107.    char sign;
  108.    char temp[8];
  109.  
  110.    for( x = 0; x < 8; x ++ )
  111.      temp[x] = ' ';
  112.    sign = (value >= 0) ? '+' : '-';
  113.    x = 7;
  114.    do {
  115.       temp[x] = (value % 10) + '0';
  116.       value = value / 10;
  117.       x--;
  118.    } while( value > 0 );
  119.    temp[x] = sign;
  120.    y = 0;
  121.    while( x <  8 )
  122.       buffer[y++] = temp[x++];
  123.    buffer[y] = '\0';
  124. }
  125.  
  126. atoi( s )     /* convert s to integer */
  127. char *s;
  128. {
  129.   int n, sign;
  130.   sign=n=0;
  131.   if(*s == '+' || *s == '-')  /* sign */
  132.     if(*s++ == '-') sign = -sign;
  133.   while(*s)
  134.     n = 10 * n + *s++ - '0';
  135.   if(sign) return(-n);
  136.   return n;
  137. }
  138.