Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Te funkcje przetwarzają dane w różnych rozmiarach i formatach— od pojedynczych znaków do dużych struktur danych. Zapewniają one również buforowanie, co może poprawić wydajność. Domyślny rozmiar buforu strumienia to 4K. Te procedury mają wpływ tylko na utworzone przez procedury biblioteki czasu wykonywania i nie mają wpływu na utworzone przez system operacyjny.
Procedury we/wy strumienia
| Procedura | Używanie |
|---|---|
clearerr, clearerr_s |
Wyczyść wskaźnik błędu dla strumienia |
fclose |
Zamknij strumień |
_fcloseall |
Zamknij wszystkie otwarte strumienie z wyjątkiem stdin, stdouti stderr |
_fdopen, wfdopen |
Kojarzenie strumienia z deskryptorem plików otwartego pliku |
feof |
Testowanie końca pliku w strumieniu |
ferror |
Testowanie pod kątem błędu w strumieniu |
fflush |
Opróżnianie strumienia do buforu lub urządzenia magazynu |
fgetc, fgetwc |
Odczyt znaku ze strumienia getc (wersje funkcji i getwc) |
_fgetchar, _fgetwchar |
Odczyt znaku z stdin (wersje getchar funkcji i getwchar) |
fgetpos |
Pobieranie wskaźnika położenia strumienia |
fgets, fgetws |
Odczytywanie ciągu ze strumienia |
_fileno |
Pobieranie deskryptora plików skojarzonego ze strumieniem |
_flushall |
Opróżnianie wszystkich strumieni do buforu lub urządzenia magazynu |
fopen, , _wfopen, , fopen_s_wfopen_s |
Otwieranie strumienia |
fprintf
|
Zapisywanie sformatowanych danych do strumienia |
fputc, fputwc |
Zapisywanie znaku w strumieniu (wersje putc funkcji i putwc) |
_fputchar, _fputwchar |
Zapisz znak do stdout (wersje putchar funkcji i putwchar) |
fputs, fputws |
Zapisywanie ciągu w strumieniu |
fread |
Odczytywanie niesformatowanych danych ze strumienia |
freopen, , _wfreopen, , freopen_s_wfreopen_s |
Ponowne przypisywanie FILE wskaźnika strumienia do nowego pliku lub urządzenia |
fscanf, , fwscanf, fscanf_s, _fscanf_s_l, , fwscanf_s_fwscanf_s_l |
Odczytywanie sformatowanych danych ze strumienia |
fseek, _fseeki64 |
Przenieś położenie pliku do danej lokalizacji |
fsetpos |
Ustawianie wskaźnika położenia strumienia |
_fsopen, _wfsopen |
Otwieranie strumienia z udostępnianiem plików |
ftell, _ftelli64 |
Pobieranie bieżącej pozycji pliku |
fwrite |
Zapisywanie niesformatowanych elementów danych w celu przesyłania strumieniowego |
getc, getwc |
Odczytywanie znaku ze strumienia (wersje fgetc makr i fgetwc) |
getchar, getwchar |
Odczytaj znak z stdin (wersje fgetchar makr i fgetwchar) |
_getmaxstdio |
Zwraca liczbę jednocześnie otwartych plików dozwolonych na poziomie we/wy strumienia. |
gets_s, _getws_s |
Odczyt wiersza z stdin |
_getw |
Odczytywanie danych binarnych int ze strumienia |
printf
|
Zapisywanie sformatowanych danych do stdout |
putc, putwc |
Zapisywanie znaku w strumieniu (wersje fputc makr i fputwc) |
putchar, putwchar |
Zapisz znak do stdout (wersje fputchar makr i fputwchar) |
puts, _putws |
Pisanie wiersza do strumienia |
_putw |
Zapisywanie danych binarnych int do strumienia |
rewind |
Przenieś położenie pliku na początek strumienia |
_rmtmp |
Usuwanie plików tymczasowych utworzonych przez program tmpfile |
scanf
|
Odczytywanie sformatowanych danych z stdin |
setbuf |
Buforowanie strumienia sterowania |
_setmaxstdio |
Ustaw maksymalną liczbę jednocześnie otwartych plików na poziomie we/wy strumienia. |
setvbuf |
Buforowanie strumienia sterowania i rozmiar buforu |
_snprintf, , _snwprintf, _snprintf_s, _snprintf_s_l, , _snwprintf_s_snwprintf_s_l |
Zapisywanie sformatowanych danych o określonej długości do ciągu |
_snscanf, , _snwscanf, _snscanf_s, _snscanf_s_l, , _snwscanf_s_snwscanf_s_l |
Odczytywanie sformatowanych danych o określonej długości ze standardowego strumienia wejściowego. |
sprintf, , swprintf, sprintf_s, _sprintf_s_l, , swprintf_s_swprintf_s_l |
Zapisywanie sformatowanych danych w ciągu |
sscanf, , swscanf, sscanf_s_sscanf_s_l, swscanf_s, _swscanf_s_l |
Odczytywanie sformatowanych danych z ciągu |
_tempnam, _wtempnam |
Generowanie tymczasowej nazwy pliku w danym katalogu |
tmpfile, tmpfile_s |
Tworzenie pliku tymczasowego |
tmpnam, , _wtmpnam, , tmpnam_s_wtmpnam_s |
Generowanie nazwy pliku tymczasowego |
ungetc, ungetwc |
Odepchnij znak z powrotem do strumienia |
_vcprintf, , _vcwprintf, _vcprintf_s, _vcprintf_s_l, , _vcwprintf_s_vcwprintf_s_l |
Zapisz sformatowane dane w konsoli programu . |
vfprintf, , vfwprintf, vfprintf_s, _vfprintf_s_l, , vfwprintf_s_vfwprintf_s_l |
Zapisywanie sformatowanych danych do strumienia |
vprintf, , vwprintf, vprintf_s, _vprintf_s_l, , vwprintf_s_vwprintf_s_l |
Zapisywanie sformatowanych danych do stdout |
_vsnprintf, _vsnwprintf, ,vsnprintf_s , _vsnprintf_s, _vsnprintf_s_l, , _vsnwprintf_s_vsnwprintf_s_l |
Zapisywanie sformatowanych danych o określonej długości do buforu |
vsprintf, , vswprintf, vsprintf_s, _vsprintf_s_l, , vswprintf_s_vswprintf_s_l |
Zapisywanie sformatowanych danych do buforu |
Po rozpoczęciu wykonywania programu kod uruchamiania automatycznie otwiera kilka strumieni: standardowe dane wejściowe (wskazywane przez stdin), standardowe dane wyjściowe (wskazywane przez stdout) i błąd standardowy (wskazywany przez stderr). Te strumienie są domyślnie kierowane do konsoli (klawiatury i ekranu). Użyj freopen polecenia , aby przekierować stdinplik , stdoutlub stderr do pliku dysku lub urządzenia.
Pliki otwierane przy użyciu procedur strumienia są domyślnie buforowane. Funkcje stdout i stderr są opróżniane za każdym razem, gdy są pełne lub, jeśli piszesz na urządzeniu znakowym, po każdym wywołaniu biblioteki. Jeśli program zakończy się nieprawidłowo, wyjściowe mogą nie być opróżniane, co powoduje utratę danych. Użyj fflush polecenia lub _flushall , aby upewnić się, że bufor skojarzony z określonym plikiem jest opróżniany do systemu operacyjnego lub wszystkie otwarte są opróżniane. System operacyjny może buforować dane przed zapisaniem ich na dysku. Funkcja commit-to-disk gwarantuje, że opróżniona zawartość buforu nie zostanie utracona, jeśli wystąpi awaria systemu.
Istnieją dwa sposoby zatwierdzania zawartości buforu na dysku:
- Połącz z plikiem COMMODE. OBJ, aby ustawić flagę zatwierdzenia globalnego. Domyślnym ustawieniem flagi globalnej jest
n" no-commit". - Ustaw flagę trybu na
cwartość zfopenlub_fdopen.
Każdy plik otwarty z flagą lub c zachowuje się zgodnie z n flagą, niezależnie od stanu flagi globalnego zatwierdzenia/braku zatwierdzenia.
Jeśli program nie zamyka jawnie strumienia, strumień jest automatycznie zamykany po zakończeniu programu. Jednak po zakończeniu działania programu należy zamknąć strumień, ponieważ liczba strumieni, które mogą być otwarte w jednym momencie, jest ograniczona. Zobacz _setmaxstdio , aby uzyskać informacje na temat tego limitu.
Dane wejściowe mogą podążać bezpośrednio za danymi wyjściowymi tylko za pomocą interweniowania wywołania funkcji fflush lub do funkcji pozycjonowania plików (fseek, fsetpos, lub rewind). Dane wejściowe mogą być wykonywane po danych wyjściowych bez interweniowania wywołania funkcji pozycjonowania plików, jeśli operacja wejściowa napotka koniec pliku.
Zobacz też
Dane wejściowe i wyjściowe
Procedury czasu wykonywania języka Universal C według kategorii