Sažetak

Prilikom pretvaranja numeriranja Unicode brojeva (U + FF10-U + FF19) na standardne brojeve pola širine (U +0030-U + 0039) dok koristite Širokokartomultibyte, ne uspijeva učiniti pretvorbu u sustavu Windows 95 i 98. Potrebno je koristiti API LCMapString s zastavom LCMAP_HALFWIDTH da bi se znakovi pune širine pretvorili u znakove polovice širine.

Dodatne informacije

Budući da funkcija W ne funkcionira na servisu Windows 95 i Windows 98 1 mora pretvoriti znakove pune širine iz funkcije Unicode u pravilnu DBCS nizove, a zatim poziva LCMapString na pretvorbu. Ovdje se radi o uzorku koji radi s Unicode brojevima pune širine na tradicionalnom kineskom, pojednostavnjenom kineskom, japanskom i korejskom:

#include <stdio.h>#include <tchar.h>#include <windows.h>void main(void){WCHAR T[2] = {65301, 0};TCHAR dbcs[3], conv[3];WideCharToMultiByte(CP_ACP, 0, T, -1, dbcs, sizeof(dbcs), NULL, NULL);int nRes = LCMapString(LOCALE_USER_DEFAULT, LCMAP_HALFWIDTH,                                                       dbcs,sizeof(dbcs),conv,sizeof(conv));printf("%s\n",conv);}

Da bi konverzija funkcionirao za Windows 95 i Windows 98, instalirajte jednu od četiri kodne stranice (950 za tradicionalni kineski, 936 za pojednostavnjeni kineski, 932 za japanske i 949 za korejski) u sustavu te izričito postavite kodnu stranicu i parametre ID-a regionalne sheme u gornjim API pozivima.

Reference

Dodatne informacije o instalaciji kodne stranice potražite u članku iz Microsoftove baze znanja pod sljedećim brojem:

164948 Instalacija kodne stranice

Potrebna vam je dodatna pomoć?

Želite dodatne mogućnosti?

Istražite pogodnosti pretplate, pregledajte tečajeve za obuku, saznajte kako zaštititi uređaj i još mnogo toga.

Zajednice vam pomažu da postavljate pitanja i odgovarate na njih, pošaljete povratne informacije i čujete se sa stručnjacima s bogatim znanjem.