This example shows how to create and free a locale information structure.
#include <stdio.h> #include <unidef.h> int main(void) { LocaleObject locale_object = NULL; struct UniLconv *puni_lconv = NULL; int rc = ULS_SUCCESS; /*****************************************************************/ /* Assumes LANG environment variable set to a valid locale name, */ /* such as fr_FR */ /*****************************************************************/ rc = UniCreateLocaleObject(UNI_UCS_STRING_POINTER, (UniChar *)L"", &locale_object); if (rc != ULS_SUCCESS) { printf("UniCreateLocaleObject error: return code = %u\n", rc); return 1; } /* Retrieve locale information */ rc = UniQueryLocaleInfo(locale_object, &puni_lconv); if (rc != ULS_SUCCESS) { printf("UniQueryLocaleInfo error: return code = %u\n", rc); return 1; } printf("Monetary decimal point is %ls\n", puni_lconv->mon_decimal_point); /* Free the locale information structure */ rc = UniFreeLocaleInfo(puni_lconv); if (rc != ULS_SUCCESS) { printf("UniFreeLocaleInfo error: return code = %u\n", rc); return 1; } return ULS_SUCCESS; }