Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>The <a href="http://www.gnu.org/software/libc/manual/html_mono/libc.html#Streams-and-I18N" rel="nofollow">manual</a> says, more fully:</p> <blockquote> <p>Being able to use the same stream for wide and normal operations comes with a restriction: a stream can be used either for wide operations or for normal operations. Once it is decided there is no way back. Only a call to freopen or freopen64 can reset the orientation. The orientation can be decided in three ways:</p> <ul> <li>If any of the normal character functions is used (this includes the fread and fwrite functions) the stream is marked as not wide oriented.</li> <li>If any of the wide character functions is used the stream is marked as wide oriented.</li> <li>The fwide function can be used to set the orientation either way.</li> </ul> <p>It is important to never mix the use of wide and not wide operations on a stream. There are no diagnostics issued. The application behavior will simply be strange or the application will simply crash. The fwide function can help avoiding this.</p> </blockquote> <p>Note that the Microsoft documentation says their <code>fwide()</code> is "not implemented" (it's a no-op) and it "does not comply with the standard."</p> <p>My reading of all this is that programs using glibc must not use both narrow and wide character functions on a single stream without reopening it. Perhaps on Microsoft platforms there is no such restriction; perhaps even other libc implementations are more flexible.</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload