System.UnicodeString.printf (C++)
Description
The following code example illustrates the usage of the printf function on Windows and OS X platforms.
Code
#include <System.hpp>
#include <stdio.h>
int main(int argc, char* argv[]) {
/* This works on both Windows and OSX */
wchar_t* name1 = L"John";
System::UnicodeString s1;
s1.printf(L"Hello %ls", name1);
System::UnicodeString name2 = L"John";
System::UnicodeString s2;
#if defined(_WIN32)
/* This, however, only works on Windows */
s2.printf(L"Hello %ls", name2.c_str());
printf("%ls", s2.c_str());
#elif defined(__APPLE__)
/* To printf the contents of a UnicodeString, convert it
to UTF8 first and use %s instead of %ls */
s2.printf(L"Hello %s", System::UTF8String(name2).c_str());
printf("%s", System::UTF8String(s2).c_str());
#endif
return 0;
}
Note: For more details, see Unicode Output Format Specifiers.