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