We/Wy strumienia
Te funkcje przetwarzania danych w różnych rozmiarach i formaty od pojedyncze znaki do struktur danych duże.Zapewniają także buforowania, która może zwiększyć wydajność.Domyślny rozmiar buforu strumień jest 4 K.Procedury te wpływają na tylko buforów utworzone przy użyciu procedur run-time library i nie mają wpływu na buforów utworzone przez system operacyjny.
Procedur strumień we/wy
Rozpoczęto wykonywanie procedury |
Użyj |
.NET Framework równoważne |
---|---|---|
Wskaźnik błędu jasne dla strumienia |
Nie dotyczy.Aby wywołać standardowych funkcji C, należy użyć PInvoke.Aby uzyskać więcej informacji, zobacz Przykłady wywołać platformy. |
|
Zamknij strumienia |
System::IO::Stream::Close, System::IO::BinaryReader::Close, System::IO::BinaryWriter::Close, System::IO::TextReader::Close, System::IO::TextWriter::Close, System::IO::StringReader::Close, System::IO::StringWriter::Close, System::IO::StreamReader::Close, System::IO::StreamWriter::Close |
|
Zamknij wszystkie otwarte strumieni z wyjątkiem stdin, stdout, istderr |
System::IO::Stream::Close, System::IO::BinaryReader::Close, System::IO::BinaryWriter::Close, System::IO::TextReader::Close, System::IO::TextWriter::Close, System::IO::StringReader::Close, System::IO::StringWriter::Close, System::IO::StreamReader::Close, System::IO::StreamWriter::Close |
|
Kojarzenie strumienia z pliku deskryptora z otwartego pliku |
||
Test na koniec pliku w strumieniu |
||
Test na błąd w strumieniu |
Nie dotyczy.Aby wywołać standardowych funkcji C, należy użyć PInvoke.Aby uzyskać więcej informacji, zobacz Przykłady wywołać platformy. |
|
Opróżnianie strumienia do buforu lub urządzenie magazynujące |
||
Odczytać znak ze strumienia (działać wersje getc i getwc) |
||
Przeczytaj znaków z stdin (działać wersje getchar i getwchar) |
||
Pobierz wskaźnik położenia strumienia |
||
Ciąg odczytu ze strumienia |
System::IO::StreamReader::ReadLine, System::IO::TextReader::ReadBlock |
|
Get deskryptor pliku skojarzony z strumienia |
||
Zapisywanie wszystkich strumieni do buforu lub urządzenie magazynujące |
System::IO::FileStream::Flush, System::IO::StreamWriter::Flush, System::IO::TextWriter::Flush, System::IO::BinaryWriter::Flush |
|
Otworzyć strumienia |
||
fprintf, _fprintf_l, fwprintf, _fwprintf_l, fprintf_s, _fprintf_s_l, fwprintf_s, _fwprintf_s_l |
Zapisać sformatowanych danych do strumienia |
|
Wpisz znak w strumieniu (działać wersje putc i putwc) |
||
Wpisz znak do stdout (działać wersje putchar i putwchar) |
||
Zapisz ciąg strumienia. |
||
Odczytać niesformatowane dane ze strumienia |
||
Ponowne przypisywanie FILE wskaźnik strumienia do nowego pliku lub urządzenia |
||
fscanf — przetwarza dane, fwscanf,fscanf_s, _fscanf_s_l, fwscanf_s, _fwscanf_s_l |
Odczyt sformatowane dane ze strumienia |
System::IO::StreamReader::ReadLine; Zobacz też Parse metod, takich jak System::Double::Parse. |
Przenieś plik stanie biorąc pod uwagę lokalizację |
System::IO::FileStream::Position, System::IO::FileStream:: poszukiwania |
|
Wskaźnik położenia zestaw strumienia |
||
Otworzyć strumienia z udostępniania plików |
Nie dotyczy.Aby wywołać standardowych funkcji C, należy użyć PInvoke.Aby uzyskać więcej informacji, zobacz Przykłady wywołać platformy. |
|
Pobierz bieżące położenie pliku |
||
Zapisz elementy niesformatowane dane do przesyłania strumieniowego |
||
Odczytać znak ze strumienia (wersje makro fgetc i fgetwc) |
||
Przeczytaj znaków z stdin (wersje makro fgetchar i fgetwchar) |
||
Zwraca liczbę jednocześnie otwartych plików, które zezwala na strumień we/wy, poziom. |
Nie dotyczy.Aby wywołać standardowych funkcji C, należy użyć PInvoke.Aby uzyskać więcej informacji, zobacz Przykłady wywołać platformy. |
|
Linia odczytu zstdin |
||
Read binary int ze strumienia |
Nie dotyczy.Aby wywołać standardowych funkcji C, należy użyć PInvoke.Aby uzyskać więcej informacji, zobacz Przykłady wywołać platformy. |
|
printf, _printf_l, wprintf, _wprintf_l,printf_s, _printf_s_l, wprintf_s, _wprintf_s_l |
Sformatowanych danych do zapisustdout |
|
Wpisz znak w strumieniu (wersje makro fputc i fputwc) |
||
Wpisz znak do stdout (wersje makro fputchar i fputwchar) |
||
Zapis wiersza strumienia. |
||
Zapis binarny int strumienia. |
Nie dotyczy.Aby wywołać standardowych funkcji C, należy użyć PInvoke.Aby uzyskać więcej informacji, zobacz Przykłady wywołać platformy. |
|
Przenoszenie pliku stanowiska do początku strumienia |
Nie dotyczy.Aby wywołać standardowych funkcji C, należy użyć PInvoke.Aby uzyskać więcej informacji, zobacz Przykłady wywołać platformy. |
|
Usunąć tymczasowe pliki tworzone przeztmpfile |
Nie dotyczy.Aby wywołać standardowych funkcji C, należy użyć PInvoke.Aby uzyskać więcej informacji, zobacz Przykłady wywołać platformy. |
|
scanf, _scanf_l, wscanf, _wscanf_l,scanf_s, _scanf_s_l, wscanf_s, _wscanf_s_l |
Odczyt sformatowane dane zstdin |
System::Console::ReadLine; Zobacz też Parse metod, takich jak System::Double::Parse. |
Buforowanie strumienia kontroli |
Nie dotyczy.Aby wywołać standardowych funkcji C, należy użyć PInvoke.Aby uzyskać więcej informacji, zobacz Przykłady wywołać platformy. |
|
Ustalenie maksymalnej liczby jednocześnie otwartych plików na strumień we/wy poziomie. |
Nie dotyczy.Aby wywołać standardowych funkcji C, należy użyć PInvoke.Aby uzyskać więcej informacji, zobacz Przykłady wywołać platformy. |
|
Buforowanie strumienia kontroli i rozmiar buforu |
Nie dotyczy.Aby wywołać standardowych funkcji C, należy użyć PInvoke.Aby uzyskać więcej informacji, zobacz Przykłady wywołać platformy. |
|
_snprintf, _snwprintf,_snprintf_s, _snprintf_s_l, _snwprintf_s, _snwprintf_s_l |
Zapisać ciąg sformatowanych danych o określonej długości |
Nie dotyczy.Aby wywołać standardowych funkcji C, należy użyć PInvoke.Aby uzyskać więcej informacji, zobacz Przykłady wywołać platformy. |
_snscanf, _snwscanf,_snscanf_s, _snscanf_s_l, _snwscanf_s, _snwscanf_s_l |
Odczyt sformatowane dane o określonej długości z Standardowy strumień wejściowy. |
Nie dotyczy.Aby wywołać standardowych funkcji C, należy użyć PInvoke.Aby uzyskać więcej informacji, zobacz Przykłady wywołać platformy. |
sprintf, swprintf,sprintf_s, _sprintf_s_l, swprintf_s, _swprintf_s_l |
Zapisanie danych sformatowany ciąg |
|
sscanf, swscanf,sscanf_s, _sscanf_s_l, swscanf_s, _swscanf_s_l |
Odczyt sformatowane dane z ciągu znaków |
Zobacz Parse metod, takich jak System::Double::Parse |
Wygenerować tymczasowej nazwy pliku w podany katalog |
Nie dotyczy.Aby wywołać standardowych funkcji C, należy użyć PInvoke.Aby uzyskać więcej informacji, zobacz Przykłady wywołać platformy. |
|
Utwórz plik tymczasowy |
Nie dotyczy.Aby wywołać standardowych funkcji C, należy użyć PInvoke.Aby uzyskać więcej informacji, zobacz Przykłady wywołać platformy. |
|
Wygenerować tymczasowej nazwy pliku |
Nie dotyczy.Aby wywołać standardowych funkcji C, należy użyć PInvoke.Aby uzyskać więcej informacji, zobacz Przykłady wywołać platformy. |
|
Znak wypychania strumienia zalogowanie |
Nie dotyczy.Aby wywołać standardowych funkcji C, należy użyć PInvoke.Aby uzyskać więcej informacji, zobacz Przykłady wywołać platformy. |
|
_vcprintf, _vcwprintf,_vcprintf_s, _vcprintf_s_l, _vcwprintf_s, _vcwprintf_s_l |
Zapis danych sformatowanych do konsoli. |
|
inne problemy, vfwprintf,vfprintf_s, _vfprintf_s_l, vfwprintf_s, _vfwprintf_s_l |
Zapisać sformatowanych danych do strumienia |
Nie dotyczy.Aby wywołać standardowych funkcji C, należy użyć PInvoke.Aby uzyskać więcej informacji, zobacz Przykłady wywołać platformy. |
vprintf, vwprintf,vprintf_s, _vprintf_s_l, vwprintf_s, _vwprintf_s_l |
Sformatowanych danych do zapisustdout |
|
_vsnprintf, _vsnwprintf,vsnprintf_s, _vsnprintf_s, _vsnprintf_s_l, _vsnwprintf_s, _vsnwprintf_s_l |
Bufor zapisu sformatowanych danych o określonej długości |
Nie dotyczy.Aby wywołać standardowych funkcji C, należy użyć PInvoke.Aby uzyskać więcej informacji, zobacz Przykłady wywołać platformy. |
vsprintf, vswprintf,vsprintf_s, _vsprintf_s_l, vswprintf_s, _vswprintf_s_l |
Bufor zapisu sformatowanych danych |
Gdy program rozpoczyna się wykonywanie, kod startowy automatycznie otwiera wiele strumieni: standardowe dane wejściowe (wskazywanej przez stdin), standardowe dane wyjściowe (wskazywanej przez stdout) oraz błąd standardowy (wskazywanej przez stderr).Strumienie te są skierowane do konsoli (klawiatury i ekranu) domyślnie.Użyj freopen do przekierowania stdin, stdout, lub stderr w pliku na dysku lub urządzeniu.
Pliki otwierane za pomocą procedur strumień jest buforowana domyślnie.stdout i stderr funkcje są opróżniane, w każdym przypadku, gdy są one zapełnione, lub jeśli pisze się na urządzeniu znak, po każdym wywołaniu biblioteki.Jeśli program zakończy działanie nieprawidłowo, bufory wyjściowe mogą nie można opróżnić, wynikające z utraty danych.Użyj fflush lub _flushall do zapewnienia buforu skojarzonych z określonego pliku lub wszystkich otwartych bufory są opróżniane do systemu operacyjnego może buforować dane przed zapisaniem go na dysk.Funkcja commit do dysku gwarantuje, że zawartość buforu Opróżniono nie zostaną utracone w przypadku wystąpienia awarii systemu.
Aby zatwierdzić zawartość buforu na dysk na dwa sposoby:
Połącz z plikiem COMMODE.OBJ ustawić flagę commit globalnego.Domyślne ustawienie flagi globalnej jest n, za "commit nr."
Set the mode flag to c with fopen or _fdopen.
Każdy plik jest otwarty w szczególności z albo c lub n Flaga zachowuje się zgodnie z flagi, niezależnie od stanu flagę globalną nr/commit-commit.
Jeśli program nie jawnie zamknąć strumienia, strumień jest zamknięty automatycznie, gdy program kończy działanie.Jednakże należy zamknąć strumień po zakończeniu programu, z tym, jak liczba strumieni, które mogą być otwarte jednocześnie, jest ograniczona.Zobacz _setmaxstdio Aby uzyskać informacje dotyczące tego limitu.
Dane wejściowe można śledzić dane wyjściowe bezpośrednio tylko z wywołania fflush lub funkcji położenie pliku (fseek, fsetpos, lub rewind).Dane wyjściowe można wykonać wprowadzania bez wywołania funkcji położenie pliku, jeżeli koniec pliku wejściowego operacji.