Megosztás a következőn keresztül:


Unicode-stream I/O szöveges és bináris módban

Ha egy Unicode-stream I/O-rutinja (például fwprintf, fwscanf, fgetwc, , fputwc, fgetwsvagy fputws) szöveges módban megnyitott fájlon (alapértelmezett) működik, kétféle karakterátalakítás történik:

  • Unicode-to-MBCS vagy MBCS-to-Unicode konvertálás. Ha egy Unicode stream-I/O függvény szöveges módban működik, a forrás- vagy célstream többbájtos karaktersorozatnak számít. Ezért a Unicode streambemeneti függvények a többbájtos karaktereket széles karakterekké alakítják át (mintha a mbtowc függvény hívásával). Ugyanezen okból a Unicode stream-output függvények a széles karaktereket többbájtos karakterekké alakítják át (mintha a wctomb függvény hívásával).

  • Kocsivisszahúzási csatorna (CR-LF) fordítása. Ez a fordítás az MBCS – Unicode-átalakítás (Unicode stream bemeneti függvények esetén) és a Unicode – MBCS átalakítás (Unicode stream kimeneti függvények esetében) előtt történik. A bemenet során a rendszer minden kocsivisszameneti vonalas takarmánykombinációt egyetlen soradagoló karakterre fordít le. A kimenet során a rendszer minden sorbetöltési karaktert kocsivisszameneti vonalas adatcsatorna-kombinációvá fordít le.

Ha azonban egy Unicode stream-I/O függvény bináris módban működik, a fájl unicode-nak minősül, és a bemenet vagy a kimenet során nem történik CR-LF fordítás vagy karakterátalakítás. Használja az _setmode( _fileno( stdin ), _O_BINARY ); utasítást a UNICODE-szövegfájlok helyes használatához wcin .

Lásd még

Univerzális C futtatókörnyezeti rutinok kategória szerint
Bemenet és kimenet