blob: 922254d6bc30504c13a8abb73c4825da2d71a8f2 [file] [log] [blame]
#ifndef _CRT_SECURE_NO_WARNINGS
# define _CRT_SECURE_NO_WARNINGS
#endif
#if defined(_MSC_VER) && _MSC_VER >= 1928
# pragma warning(disable : 5105) /* macro expansion warning in windows.h */
#endif
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
int main()
{
/* 'cl /showIncludes' encodes output in the console output code page. */
unsigned int cp = GetConsoleOutputCP();
/* 'cl /showIncludes' prints output in the VS language. */
const char* vslang = getenv("VSLANG");
if (!vslang) {
fprintf(stderr, "VSLANG is not set.\n");
return 1;
}
printf("Console output code page: %u\n", cp);
printf("Console input code page: %u\n", GetConsoleCP());
printf("ANSI code page: %u\n", GetACP());
printf("OEM code page: %u\n", GetOEMCP());
printf("VSLANG: %s\n", vslang);
if (strcmp(vslang, "2052") == 0) {
if (cp == 54936 || cp == 936) {
printf("\xd7\xa2\xd2\xe2: "
"\xb0\xfc\xba\xac\xce\xc4\xbc\xfe: C:\\foo.h\n");
return 0;
}
if (cp == 65001) {
printf("\xe6\xb3\xa8\xe6\x84\x8f: "
"\xe5\x8c\x85\xe5\x90\xab\xe6\x96\x87\xe4\xbb\xb6: C:\\foo.h\n");
return 0;
}
}
fprintf(stderr, "No example showIncludes for this code page and VSLANG.\n");
return 1;
}