The character-conversion functions convert one type of character to another type. These functions include:
ecvt _tolower fcvt toupper gcvt _toupper mbtowc towctrans mbrtowc wctrans mbsrtowcs wcrtomb toascii wcsrtombs tolower
For more information on each of these functions, see the Reference Section.
Example 3-2 shows how to use the ecvt function.
/* This program uses the ecvt function to convert a double *
* value to a string. The program then prints the string. */
#include <stdio.h>
#include <stdlib.h>
#include <unixlib.h>
#include <string.h>
main()
{
double val; /* Value to be converted */
/* Variables for sign and *
* decimal place */
int sign, point;
/* Array for converted *
* string */
static char string[20];
val = -3.1297830e-10;
printf("original value: %e\n", val);
strcpy(string,ecvt(val, 5, &point, &sign));
printf("converted string: %s\n", string);
if (sign)
printf("value is negative\n");
else printf("value is positive\n");
printf("decimal point at %d\n", point);
}
The output from Example 3-2 is as follows:
$ RUN EXAMPLE2 original value: -3.129783e-10 converted string: 31298 value is negative decimal point at -9 $
Example 3-3 shows how to use the toupper and tolower functions.
/* This program uses the functions toupper and tolower to *
* convert uppercase to lowercase and lowercase to uppercase *
* using input from the standard input (stdin). */
#include <ctype.h>
#include <stdio.h> /* To use EOF identifier */
#include <stdlib.h>
main()
{
char c, ch;
while ((c = getchar()) != EOF)
{
if (c >= 'A' && c <= 'Z')
ch = tolower(c);
else
ch = toupper(c);
putchar(ch);
}
}
Sample input and output from Example 3-3 are as follows:
$ RUN EXAMPLE3 LET'S GO TO THE stonewall INN.<Ctrl/Z> let's go to the STONEWALL inn. $