locales, unicode and ansi with msvcrt (bug 8022)
Ann & Jason Edmeades
us at edmeades.me.uk
Thu Apr 12 14:53:35 CDT 2007
>>> Apparently you need to use appropriate console output APIs directly
(that
>>> take into account the console input/output code page) instead of using
>>> MSVCRT APIs.
>>>
>> Unfortunately just using the wide console function will only help the
>> output to the screen, but as my test program shows there is the same
>> discrepency when the output is to a file handle...
>What your test app is doing? It probably needs a test under Windows to
>see in which encoding (ANSI/OEM) a not unicode app should receive input
>via a pipe.
>From the original mail:
// File i/o has same problem? (Windows - narrow, Wine - includes nulls)
WCHAR buffer[] = L"Hello Jason\n";
f = _wfopen(L"test", L"w+t");
fwprintf(f, buffer);
fclose(f);
So basically inside msvcrt we know we have a Unicode string to output from
wprintf (and friends), but what conversion occurs before physically
outputting it - Is it just a straight conversion to the console codepage
perhaps?
Jason
More information about the wine-devel
mailing list