|
|
|
|
|
|
![]() Chapter 25Answers to Selected Exercises6. [was #4; modified]
while ((orig_char = getchar()) != EOF) ??<
new_char = orig_char ??' KEY;
if (isprint(orig_char) && isprint(new_char))
putchar(new_char);
else
putchar(orig_char);
??>
Answers to Selected Programming Projects1. [was #2]
#include <locale.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(void)
{
char *temp, *C_locale;
temp = setlocale(LC_ALL, NULL);
/* "C" is the current locale by default */
if (temp == NULL) {
printf("\"C\" locale information not available\n");
exit(EXIT_FAILURE);
}
C_locale = malloc(strlen(temp) + 1);
if (C_locale == NULL) {
printf("Can't allocate space to store locale information\n");
exit(EXIT_FAILURE);
}
strcpy(C_locale, temp);
temp = setlocale(LC_ALL, "");
if (temp == NULL) {
printf("Native locale information not available\n");
exit(EXIT_FAILURE);
}
if (strcmp(temp, C_locale) == 0)
printf("Native locale is the same as the \"C\" locale\n");
else
printf("Native locale is not the same as the \"C\" locale\n");
return 0;
}
Copyright © 2008, 1996 W. W. Norton & Company, Inc. All rights reserved. |