|  |   | 
|  | 
| 
 |  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. |