home *** CD-ROM | disk | FTP | other *** search
/ Piper's Pit BBS/FTP: ibm 0000 - 0009 / ibm0000-0009 / ibm0003.tar / ibm0003 / LCNOW2.ZIP / EXAMPLES / STRCASE.C < prev    next >
Encoding:
C/C++ Source or Header  |  1988-08-02  |  1.8 KB  |  112 lines

  1. /*
  2.  * S T R C V T
  3.  *
  4.  * Display a string in each of several presentation formats:
  5.  *      - all uppercase
  6.  *      - all lowercase
  7.  *      - initial capital letter
  8.  */
  9.  
  10. #include <stdio.h>
  11. #include <ctype.h>    /* for conversion macros */
  12.  
  13. /*
  14.  * Function prototypes
  15.  */
  16. char *StringUpper(char *);
  17. char *StringLower(char *);
  18. char *StringCapitalize(char *);
  19.  
  20. #define MAXSTRING 20
  21.  
  22. int
  23. main(void)
  24. {
  25.     char buffer[MAXSTRING + 1];    /* add 1 for NUL byte */
  26.  
  27.     /*
  28.      * Prompt the user for a string and read
  29.      * it into the input buffer.
  30.      */
  31.     printf("Type a string (%d characters max.) + ENTER: ",
  32.         MAXSTRING);
  33.     gets(buffer);
  34.  
  35.     /*
  36.      * Convert and display the string (three ways).
  37.      */
  38.     printf("%s\n", StringUpper(buffer));
  39.     printf("%s\n", StringLower(buffer));
  40.     printf("%s\n", StringCapitalize(buffer));
  41.  
  42.     return (0);
  43. }
  44.  
  45.  
  46. /*
  47.  * StringUpper()
  48.  *
  49.  * Convert all the alphabetic characters in a string
  50.  * to uppercase.  Nonalpha characters are unaffected.
  51.  */
  52.  
  53. char *
  54. StringUpper(char *string)
  55. {
  56.     char *cp;
  57.  
  58.     cp = string;
  59.     while (*cp != '\0') {
  60.         *cp = toupper(*cp);
  61.         ++cp;
  62.     }
  63.  
  64.     return (string);
  65. }
  66.  
  67.  
  68. /*
  69.  * StringLower()
  70.  *
  71.  * Convert all the alphabetic characters in a string
  72.  * to lowercase.  Nonalpha characters are unaffected.
  73.  */
  74.  
  75. char *
  76. StringLower(char *string)
  77. {
  78.     char *cp;
  79.  
  80.     cp = string;
  81.     while (*cp != '\0') {
  82.         *cp = tolower(*cp);
  83.         ++cp;
  84.     }
  85.  
  86.     return (string);
  87. }
  88.  
  89.  
  90. /*
  91.  * StringCapitalize()
  92.  *
  93.  * Convert the first character in a string to uppercase and
  94.  * the rest to lowercase.  Nonalpha characters are unaffected.
  95.  */
  96.  
  97. char *
  98. StringCapitalize(char *string)
  99. {
  100.     char *cp;
  101.  
  102.     cp = string;
  103.     *cp = toupper(*cp);
  104.     ++cp;
  105.     while (*cp != '\0') {
  106.         *cp = tolower(*cp);
  107.         ++cp;
  108.     }
  109.  
  110.     return (string);
  111. }
  112.