B
BartC
Ben Bacarisse said:That's fine, but there is some evidence that the OP wants to use
standard C (for example, fwide is not at all standard is MS C). A
version of C that prints wide strings with %s is not standard C and is
just going to further confuse matters.
But with wprintf(). Note the 'w' prefix (which I assume stands for 'wide').
To further complicate things, my quick review of the docs suggests that
wprintf uses %ls as per standard for wide strings (VS 2010).
http://msdn.microsoft.com/en-us/library/tcxf1dw6.aspx
Seems to be down at the minute; I'll check later..
All the more odd to use %s then!
With wprintf() as I said, which also takes wide format strings.
One explanation is that your source is not UTF-8 encoded. The
Windows-1252 encoding where the euro is 0x80 seems likely.
Yes. I forgot my source uses TXT/ANSI 8-bit format. But converting to both
Unicode and UTF-8 didn't really help as, not knowing the compiler switches
necessary (if they even exist), they caused even more errors.
However this is why I suggested constructing the string rather than using
string literals.