This example gets the current code page and up to three other prepared code pages.
#define INCL_DOSNLS /* National Language Support values */
#define INCL_DOSERRORS /* DOS error values */
#include <os2.h>
#include <stdio.h>
int main(VOID) {
ULONG aulCpList[8] = {0}, /* Code page list */
ulBufSize = 8 * sizeof(ULONG), /* Size of output list */
ulListSize = 0, /* Size of list returned */
indx = 0; /* Loop index */
APIRET rc = NO_ERROR; /* Return code */
rc = DosQueryCp(ulBufSize, /* Length of output code page list */
aulCpList, /* List of code pages */
&ulListSize); /* Length of list returned */
if (rc != NO_ERROR) {
printf("DosQueryCp error: return code = %u\n",rc);
return 1;
} else {
for (indx=0; indx < ulListSize/sizeof(ULONG); indx++)
printf ("aulCpList[%u] = %u\n", indx, aulCpList[indx]);
}
return NO_ERROR;
}