s?wprintf family of functions has broken %s formatter output

Václav Zeman vhaisman@gmail.com
Mon Jun 11 13:49:00 GMT 2012

On 11 June 2012 15:34, Otto Meta wrote:
>> I have done some more checking and I might have been wrong about the
>> Ubuntu and Linux in general. It looks like the formatting strings are
>> incompatible between MSVC and *NIX. It appears that either %S (SUSv2)
>> or %ls (C99) is needed on *NIX. MSVC switches the meaning of %s for
>> wprintf() (http://linux.die.net/man/3/printf).
> Changing %s in your test program to %ls works for me on Ubuntu.
> Have you tried %ls in MSVC? That should work as well, according to
> http://msdn.microsoft.com/de-de/library/tcxf1dw6%28v=vs.80%29.aspx
Thank you for pointing this out. I guess I will use %ls and wchar_t
literals for compatibility. But still, this kind of stuff makes me


Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

More information about the Cygwin mailing list