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.
Dessa funktioner bearbetar data i olika storlekar och format, från enkla tecken till stora datastrukturer. De ger också buffring, vilket kan förbättra prestandan. Standardstorleken för en dataströmbuffert är 4K. Dessa rutiner påverkar endast buffertar som skapats av rutinerna för körningsbibliotek och har ingen effekt på buffertar som skapats av operativsystemet.
Strömma I/O-rutiner
| Rutin | Använd |
|---|---|
clearerr, clearerr_s |
Tydlig felindikator för dataström |
fclose |
Stäng ström |
_fcloseall |
Stäng alla öppna strömmar utom stdin, stdoutoch stderr |
_fdopen, wfdopen |
Associera dataström med filbeskrivning för öppen fil |
feof |
Testa för slutet av filen i dataströmmen |
ferror |
Test för fel i dataström |
fflush |
Spola dataström till buffert- eller lagringsenhet |
fgetc, fgetwc |
Läsa tecken från dataström (funktionsversioner av getc och getwc) |
_fgetchar, _fgetwchar |
Läs tecken från stdin (funktionsversioner av getchar och getwchar) |
fgetpos |
Hämta positionsindikator för ström |
fgets, fgetws |
Läsa sträng från dataström |
_fileno |
Hämta filbeskrivning som är associerad med dataström |
_flushall |
Rensa alla strömmar till buffert- eller lagringsenhet |
fopen, _wfopen, ,fopen_s_wfopen_s |
Öppna dataström |
fprintf, _fprintf_l, fwprintf, _fwprintf_l,fprintf_s , , _fprintf_s_l, , fwprintf_s_fwprintf_s_l |
Skriva formaterade data att strömma |
fputc, fputwc |
Skriva ett tecken till en ström (funktionsversioner av putc och putwc) |
_fputchar, _fputwchar |
Skriva tecken till stdout (funktionsversioner av putchar och putwchar) |
fputs, fputws |
Skriv sträng till dataström |
fread |
Läsa oformaterade data från dataström |
freopen, _wfreopen, ,freopen_s_wfreopen_s |
FILE Tilldela om strömpekaren till ny fil eller enhet |
fscanf, fwscanf, fscanf_s, _fscanf_s_l, , , fwscanf_s_fwscanf_s_l |
Läsa formaterade data från dataström |
fseek, _fseeki64 |
Flytta filposition till angiven plats |
fsetpos |
Ange positionsindikator för ström |
_fsopen, _wfsopen |
Öppna dataström med fildelning |
ftell, _ftelli64 |
Hämta aktuell filposition |
fwrite |
Skriva oformaterade dataobjekt att strömma |
getc, getwc |
Läsa tecken från strömmen (makroversioner av fgetc och fgetwc) |
getchar, getwchar |
Läs tecken från stdin (makroversioner av fgetchar och fgetwchar) |
_getmaxstdio |
Returnerar antalet samtidiga öppna filer som tillåts på dataströmmens I/O-nivå. |
gets_s, _getws_s |
Läs rad från stdin |
_getw |
Läsa binärt int från dataström |
printf, _printf_l, wprintf, _wprintf_l,printf_s , , _printf_s_l, , wprintf_s_wprintf_s_l |
Skriva formaterade data till stdout |
putc, putwc |
Skriva tecken till en ström (makroversioner av fputc och fputwc) |
putchar, putwchar |
Skriva tecken till stdout (makroversioner av fputchar och fputwchar) |
puts, _putws |
Skriv rad till dataström |
_putw |
Skriva binärt int till dataström |
rewind |
Flytta filpositionen till början av dataströmmen |
_rmtmp |
Ta bort temporära filer som skapats av tmpfile |
scanf, _scanf_l, wscanf, _wscanf_l,scanf_s , , _scanf_s_l, , wscanf_s_wscanf_s_l |
Läsa formaterade data från stdin |
setbuf |
Styra dataströmbuffertning |
_setmaxstdio |
Ange ett maxvärde för antalet filer som öppnas samtidigt på I/O-dataströmnivån. |
setvbuf |
Kontrollera dataströmbuffertning och buffertstorlek |
_snprintf, _snwprintf, _snprintf_s, _snprintf_s_l, , , _snwprintf_s_snwprintf_s_l |
Skriva formaterade data med angiven längd till sträng |
_snscanf, _snwscanf, _snscanf_s, _snscanf_s_l, , , _snwscanf_s_snwscanf_s_l |
Läsa formaterade data med en angiven längd från standardindataströmmen. |
sprintf, swprintf, sprintf_s, _sprintf_s_l, , , swprintf_s_swprintf_s_l |
Skriva formaterade data till sträng |
sscanf, swscanf,sscanf_s , _sscanf_s_l, swscanf_s, _swscanf_s_l |
Läsa formaterade data från sträng |
_tempnam, _wtempnam |
Generera tillfälligt filnamn i den angivna katalogen |
tmpfile, tmpfile_s |
Skapa temporär fil |
tmpnam, _wtmpnam, ,tmpnam_s_wtmpnam_s |
Generera tillfälligt filnamn |
ungetc, ungetwc |
Skicka tillbaka tecknet till strömmen |
_vcprintf, _vcwprintf, _vcprintf_s, _vcprintf_s_l, , , _vcwprintf_s_vcwprintf_s_l |
Skriva formaterade data till konsolen. |
vfprintf, vfwprintf, vfprintf_s, _vfprintf_s_l, , , vfwprintf_s_vfwprintf_s_l |
Skriva formaterade data att strömma |
vprintf, vwprintf, vprintf_s, _vprintf_s_l, , , vwprintf_s_vwprintf_s_l |
Skriva formaterade data till stdout |
_vsnprintf, _vsnwprintf,vsnprintf_s , _vsnprintf_s, _vsnprintf_s_l, , , _vsnwprintf_s_vsnwprintf_s_l |
Skriva formaterade data med angiven längd för buffert |
vsprintf, vswprintf, vsprintf_s, _vsprintf_s_l, , , vswprintf_s_vswprintf_s_l |
Skriva formaterade data till buffert |
När ett program börjar köras öppnar startkoden automatiskt flera strömmar: standardindata (pekas på av stdin), standardutdata (pekas på av stdout) och standardfel (pekas på av stderr). Dessa strömmar dirigeras som standard till konsolen (tangentbord och skärm). Använd freopen för att omdirigera stdin, stdouteller stderr till en diskfil eller en enhet.
Filer som öppnas med hjälp av strömrutinerna buffrad som standard. Funktionerna stdout och stderr rensas när de är fulla eller, om du skriver till en teckenenhet, efter varje biblioteksanrop. Om ett program avslutas onormalt kan det hända att utdatabuffertar inte rensas, vilket resulterar i dataförlust. Använd fflush eller _flushall för att säkerställa att bufferten som är associerad med en angiven fil rensas till operativsystemet eller att alla öppna buffertar töms. Operativsystemet kan cachelagrat data innan de skrivs till disken. Funktionen commit-to-disk säkerställer att det tömda buffertinnehållet inte går förlorat om det uppstår ett systemfel.
Det finns två sätt att checka in buffertinnehåll på disk:
- Länka till filen COMMODE. OBJ för att ange en global incheckningsflagga. Standardinställningen för den globala flaggan är
n, för "no-commit". - Ange lägesflaggan till
cmedfopeneller_fdopen.
Alla filer som öppnas specifikt med antingen c flaggan eller n fungerar enligt flaggan, oavsett status för den globala inchecknings-/no-commit-flaggan.
Om programmet inte uttryckligen stänger en ström stängs strömmen automatiskt när programmet avslutas. Du bör dock stänga en ström när programmet har slutförts med den, eftersom antalet strömmar som kan vara öppna samtidigt är begränsat. Mer _setmaxstdio information om den här gränsen finns i.
Indata kan endast följa utdata direkt med ett mellanliggande anrop till fflush eller till en filplaceringsfunktion (fseek, fsetposeller rewind). Indata kan följas av utdata utan ett mellanliggande anrop till en filplaceringsfunktion, om indataåtgärden stöter på slutet av filen.
Se även
Indata och utdata
Universal C-körningsrutiner efter kategori