Copyright Digital Equipment Corp. All rights reserved.

Example

       #include <errno.h>
       #include <stdio.h>
       #include <locale.h>

       /* This program calls setlocale() three times. The second call  */
       /* is for a nonexistent locale. The third call is for an        */
       /* existing file that is not a locale file.                     */

       main()
       {
           char *ret_str;

           errno = 0;
           printf("setlocale (LC_ALL, \"POSIX\")");
           ret_str = (char *) setlocale(LC_ALL, "POSIX");

           if (ret_str == NULL)
               perror("setlocale error");
           else
               printf(" call was successful\n");

           errno = 0;
           printf("\n\nsetlocale (LC_ALL, \"junk.junk_codeset\")");
           ret_str = (char *) setlocale(LC_ALL, "junk.junk_codeset");

           if (ret_str == NULL)
               perror(" returned error");
           else
               printf(" call was successful\n");

           errno = 0;
           printf("\n\nsetlocale (LC_
ALL, \"sys$login:login.com\")");
           ret_str = (char *) setlocale(LC_
ALL, "sys$login:login.com");

           if (ret_str == NULL)
               perror(" returned error");
           else
               printf(" call was successful\n");
       }

     Running the example program produces the following result:

       setlocale (LC_ALL, "POSIX") call was successful

       setlocale (LC_ALL, "junk.junk_codeset")
       returned error: no such file or directory

       setlocale (LC_ALL, "sys$login:login.com")
       returned error: nontranslatable vms error code: 0x35C07C
       %c-f-localebad, not a locale file