This example shows how to create and use a transform object.
#include <stdio.h>
#include <unidef.h>
int main(void) {
LocaleObject locale_object = NULL;
XformObject xform_object = NULL;
int rc = ULS_SUCCESS;
int in_unistr_elem = 0;
int out_unistr_elem = 10;
UniChar *pin_unistr = (UniChar *)L"os2";
UniChar out_unistr[10];
/*****************************************************************/
/* 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;
}
/* Create an upper case transform object */
rc = UniCreateTransformObject(locale_object,
(UniChar *)L"upper",
&xform_object);
if (rc != ULS_SUCCESS) {
printf("UniCreateTransformObject error: return code = %u\n",
rc);
return 1;
}
/* Calculate the number of elements to transform */
in_unistr_elem = UniStrlen (pin_unistr) + 1;
/* Make call to transform input string to uppercase */
rc = UniTransformStr(xform_object,
pin_unistr,
&in_unistr_elem,
out_unistr,
&out_unistr_elem);
if (rc != ULS_SUCCESS) {
printf("UniTransformStr error: return code = %u\n",
rc);
return 1;
}
return ULS_SUCCESS;
}