Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Ezek a függvények különböző méretben és formátumban dolgozzák fel az adatokat az egykarakterektől a nagy adatstruktúrákig. Pufferelést is biztosítanak, amely javíthatja a teljesítményt. A streampuffer alapértelmezett mérete 4K. Ezek a rutinok csak a futásidejű kódtár rutinjai által létrehozott puffereket érintik, és nincs hatással az operációs rendszer által létrehozott pufferekre.
I/O-rutinok streamelése
| Rutin | Használd |
|---|---|
clearerr, clearerr_s |
Hibajelző törlése a streamhez |
fclose |
Stream bezárása |
_fcloseall |
Zárja be az összes nyitott streamet, kivéve stdin, stdoutés stderr |
_fdopen, wfdopen |
Stream társítása a megnyitott fájl leírójával |
feof |
A fájl végének tesztelése streamen |
ferror |
Hiba tesztelése streamen |
fflush |
Stream kiürítése pufferbe vagy tárolóeszközre |
fgetc, fgetwc |
Karakter olvasása streamből (függvényverziók getc és getwc) |
_fgetchar, _fgetwchar |
Karakter olvasása ( stdin függvényverziók getchar és getwchar) |
fgetpos |
Stream helyzetjelzőjének lekérése |
fgets, fgetws |
Sztring olvasása streamből |
_fileno |
Streamhez társított fájlleíró lekérése |
_flushall |
Az összes stream kiürítése pufferbe vagy tárolóeszközre |
fopen, _wfopen, fopen_s_wfopen_s |
Stream megnyitása |
fprintf, _fprintf_l, fwprintf, _fwprintf_lfprintf_s, _fprintf_s_l, fwprintf_s_fwprintf_s_l |
Formázott adatok írása streameléshez |
fputc, fputwc |
Karakter írása streambe (függvényverziók putc és putwc) |
_fputchar, _fputwchar |
Karakter írása stdout (és putcharfüggvényverzióiputwchar) |
fputs, fputws |
Sztring írása streameléshez |
fread |
Nem formázott adatok olvasása streamből |
freopen, _wfreopen, freopen_s_wfreopen_s |
Streammutató újbóli hozzárendelése FILE új fájlhoz vagy eszközhöz |
fscanf, fwscanf,fscanf_s , _fscanf_s_lfwscanf_s_fwscanf_s_l |
Formázott adatok olvasása streamből |
fseek, _fseeki64 |
Fájlpozíció áthelyezése adott helyre |
fsetpos |
A stream helyzetjelzőjének beállítása |
_fsopen, _wfsopen |
Stream megnyitása fájlmegosztással |
ftell, _ftelli64 |
Aktuális fájlpozíció lekérése |
fwrite |
Formázatlan adatelemek írása streameléshez |
getc, getwc |
Karakter olvasása a streamből (és fgetcmakróverzióifgetwc) |
getchar, getwchar |
Karakter olvasása (stdinés fgetcharmakróverzióifgetwchar) |
_getmaxstdio |
A stream I/O szintjén engedélyezett egyidejűleg megnyitott fájlok számát adja vissza. |
gets_s, _getws_s |
Sor olvasása innen: stdin |
_getw |
Bináris int olvasása streamből |
printf, _printf_l, wprintf, _wprintf_lprintf_s, _printf_s_l, wprintf_s_wprintf_s_l |
Formázott adatok írása stdout |
putc, putwc |
Karakter írása streambe (és fputcmakróverzióifputwc) |
putchar, putwchar |
Karakter írása stdout (és fputcharmakróverzióifputwchar) |
puts, _putws |
Sor írása streameléshez |
_putw |
Bináris int írás streameléshez |
rewind |
Fájlhelyzet áthelyezése a stream elejére |
_rmtmp |
A következő által létrehozott ideiglenes fájlok eltávolítása: tmpfile |
scanf, _scanf_l, wscanf, _wscanf_lscanf_s, _scanf_s_l, wscanf_s_wscanf_s_l |
Formázott adatok olvasása a következőből: stdin |
setbuf |
Stream pufferelésének szabályozása |
_setmaxstdio |
Állítsa be az egyidejűleg megnyitott fájlok számának maximális számát a stream I/O szintjén. |
setvbuf |
Stream pufferelésének és pufferméretének szabályozása |
_snprintf, _snwprintf,_snprintf_s , _snprintf_s_l_snwprintf_s_snwprintf_s_l |
Megadott hosszúságú formázott adatok írása sztringre |
_snscanf, _snwscanf,_snscanf_s , _snscanf_s_l_snwscanf_s_snwscanf_s_l |
A szabványos bemeneti adatfolyamból beolvashatja a megadott hosszúságú formázott adatokat. |
sprintf, swprintf,sprintf_s , _sprintf_s_lswprintf_s_swprintf_s_l |
Formázott adatok írása sztringbe |
sscanf, swscanf,sscanf_s _sscanf_s_l, swscanf_s, _swscanf_s_l |
Formázott adatok olvasása sztringből |
_tempnam, _wtempnam |
Ideiglenes fájlnév létrehozása adott könyvtárban |
tmpfile, tmpfile_s |
Ideiglenes fájl létrehozása |
tmpnam, _wtmpnam, tmpnam_s_wtmpnam_s |
Ideiglenes fájlnév létrehozása |
ungetc, ungetwc |
Karakter visszaküldése a streambe |
_vcprintf, _vcwprintf,_vcprintf_s , _vcprintf_s_l_vcwprintf_s_vcwprintf_s_l |
Formázott adatok írása a konzolra. |
vfprintf, vfwprintf,vfprintf_s , _vfprintf_s_lvfwprintf_s_vfwprintf_s_l |
Formázott adatok írása streameléshez |
vprintf, vwprintf,vprintf_s , _vprintf_s_lvwprintf_s_vwprintf_s_l |
Formázott adatok írása stdout |
_vsnprintf, _vsnwprintf,vsnprintf_s , _vsnprintf_s, _vsnprintf_s_l_vsnwprintf_s_vsnwprintf_s_l |
Formázott adatok írása megadott hosszúságú pufferbe |
vsprintf, vswprintf,vsprintf_s , _vsprintf_s_lvswprintf_s_vswprintf_s_l |
Formázott adatok írása pufferbe |
Amikor egy program elkezdi a végrehajtást, az indítási kód automatikusan több streamet nyit meg: standard bemenetet (erre stdinmutat), standard kimenetet (erre stdoutmutat), és standard hibát (erre stderrmutat). Ezek a streamek alapértelmezés szerint a konzolra (billentyűzetre és képernyőre) vannak irányítva. Lemezfájlra vagy freopen eszközre való átirányításra stdinstdouthasználhatóstderr.
A stream-rutinokkal megnyitott fájlok alapértelmezés szerint pufferelve vannak. A stdout függvények és stderr a függvények minden egyes kódtár-hívás után ki lesznek ürítve, amikor megtelnek, vagy ha egy karaktereszközre ír. Ha egy program rendellenesen leáll, előfordulhat, hogy a kimeneti pufferek nem lesznek kiürítve, ami adatvesztést eredményez. Használja fflush vagy _flushall győződjön meg arról, hogy a megadott fájlhoz társított puffer ki van ürítve az operációs rendszerbe, vagy az összes nyitott puffer ki van ürítve. Az operációs rendszer gyorsítótárazhatja az adatokat, mielőtt lemezre íratja azokat. A véglegesítés a lemezre funkció biztosítja, hogy a kiürített puffer tartalma ne vesszenek el rendszerhiba esetén.
A puffertartalmak lemezre történő véglegesítésének két módja van:
- Hivatkozás a COMMODE fájlra. OBJ globális véglegesítési jelző beállításához. A globális jelölő alapértelmezett beállítása a
n"no-commit" (véglegesítés nélküli) érték. - Állítsa a módjelzőt a következőre
c: withfopenvagy_fdopen.
A kifejezetten a c jelölővel megnyitott n fájlok a jelölőnek megfelelően viselkednek, függetlenül a globális véglegesítési/véglegesítés nélküli jelölő állapotától.
Ha a program nem zárja be explicit módon a streamet, a program leállásakor a stream automatikusan bezáródik. Egy streamet azonban be kell zárnia, amikor a program befejezi azt, mivel az egyszerre megnyitható streamek száma korlátozott. Erről _setmaxstdio a korlátról további információt talál.
A bemenet közvetlenül csak egy fájlhelyezési függvényhez (vagy fflushfseek) irányuló beavatkozó hívással fsetpos követhetirewind a kimenetet. A bemenetet a kimenet követheti anélkül, hogy beavatkozó hívás lenne egy fájlhelyezési függvényhez, ha a bemeneti művelet a fájl végére kerül.
Lásd még
Bemenet és kimenet
Univerzális C futtatókörnyezeti rutinok kategória szerint