This example shows how to get the double-byte character set vector from the country file, and displays the first and second range definition values.
#define INCL_DOSNLS /* National Language Support values */ #define INCL_DOSERRORS /* DOS Error values */ #include <os2.h> #include <stdio.h> int main(VOID) { COUNTRYCODE ctrycodeInfo = {0}; /* Country code information */ UCHAR uchDBCSInfo[12] = {0}; /* DBCS information buffer */ APIRET rc = NO_ERROR; /* A return code */ ctrycodeInfo.country = 0; /* Current country */ ctrycodeInfo.codepage = 0; /* Current codepage */ rc = DosQueryDBCSEnv(sizeof(uchDBCSInfo), /* Size of buffer */ &ctrycodeInfo, /* Country code information */ uchDBCSInfo); /* DBCS information buffer */ if (rc != NO_ERROR) { printf("DosQueryDBCSEnv error: return code = %u\n", rc); return 1; } else { /* For non-DBCS countries, these will be 4 bytes of 0 */ printf("DBCS 1st range definition: %2.2x %2.2x\n", uchDBCSInfo[0], uchDBCSInfo[1]); printf(" 2nd range definition: %2.2x %2.2x\n", uchDBCSInfo[2], uchDBCSInfo[3]); } /* endif */ return NO_ERROR; }