Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
När en Unicode-ström-I/O-rutin (till exempel fwprintf
, fwscanf
, fgetwc
fputwc
, fgetws
, eller fputws
) körs på en fil som är öppen i textläge (standard), sker två typer av teckenkonverteringar:
Unicode-till-MBCS- eller MBCS-till-Unicode-konvertering. När en Unicode stream-I/O-funktion fungerar i textläge antas käll- eller målströmmen vara en sekvens med flerbytestecken. Därför konverterar Unicode stream-input-funktionerna flerabytestecken till breda tecken (som vid ett anrop till funktionen
mbtowc
). Av samma anledning konverterar Unicode-strömutdatafunktionerna breda tecken till flerbytestecken (som vid ett anrop till funktionenwctomb
).Vagnretur och radmatning (CR-LF) översättning. Den här översättningen sker före MBCS – Unicode-konvertering (för Unicode-strömindatafunktioner) och efter Unicode – MBCS-konvertering (för Unicode-strömutdatafunktioner). Under indata översätts varje kombination av returlinjematning för vagn till ett enda radmatningstecken. Under utdata översätts varje radmatningstecken till en vagnreturlinjematningskombination.
Men när en Unicode stream-I/O-funktion fungerar i binärt läge antas filen vara Unicode och ingen CR-LF översättning eller teckenkonvertering sker under indata eller utdata. Använd instruktionen _setmode( _fileno( stdin ), _O_BINARY );
för att använda wcin
den på rätt sätt i en UNICODE-textfil.
Se även
Universal C-körningsrutiner efter kategori
Indata och utdata