1#include <assert.h>2#include <locale.h>3#include <stdio.h>4#include <string.h>56/*7output:8testing9done10end:11*/1213int14main()15{16 puts("testing");17 assert(!strcmp(setlocale(LC_ALL, NULL), "C"));18 assert(!strcmp(setlocale(LC_COLLATE, NULL), "C"));19 assert(!strcmp(setlocale(LC_CTYPE, NULL), "C"));20 assert(!strcmp(setlocale(LC_MONETARY, NULL), "C"));21 assert(!strcmp(setlocale(LC_NUMERIC, NULL), "C"));22 assert(!strcmp(setlocale(LC_TIME, NULL), "C"));2324 assert(!strcmp(setlocale(LC_ALL, "C"), "C"));25 assert(!strcmp(setlocale(LC_COLLATE, "C"), "C"));26 assert(!strcmp(setlocale(LC_CTYPE, "C"), "C"));27 assert(!strcmp(setlocale(LC_MONETARY, "C"), "C"));28 assert(!strcmp(setlocale(LC_NUMERIC, "C"), "C"));29 assert(!strcmp(setlocale(LC_TIME, "C"), "C"));3031 assert(!setlocale(LC_ALL, "invalid-locale"));32 assert(!setlocale(LC_COLLATE, "invalid-locale"));33 assert(!setlocale(LC_CTYPE, "invalid-locale"));34 assert(!setlocale(LC_MONETARY, "invalid-locale"));35 assert(!setlocale(LC_NUMERIC, "invalid-locale"));36 assert(!setlocale(LC_TIME, "invalid-locale"));3738 assert(setlocale(LC_ALL, ""));39 assert(setlocale(LC_COLLATE, ""));40 assert(setlocale(LC_CTYPE, ""));41 assert(setlocale(LC_MONETARY, ""));42 assert(setlocale(LC_NUMERIC, ""));43 assert(setlocale(LC_TIME, ""));44 puts("done");4546 return 0;47}