Stream-E/A
Diese Funktionen verarbeiten Daten in unterschiedlichen Größen und Stilen, aus einzelnen Zeichen an große Datenstrukturen. Sie stellen auch Pufferung, die Leistung verbessern kann. Die Standardgröße eines Streampuffers ist 4K. Diese Puffer des Routinenaffektes, nur die durch die Laufzeitbibliotheksroutinen erstellt werden, und haben keine Auswirkungen auf die Puffer, die das Betriebssystem erstellt werden.
Stream-E/A Routinen
Routine |
Verwendung |
.NET Framework-Entsprechung |
---|---|---|
Klarer Stream für Fehler |
Nicht zutreffend. Mit PInvoke rufen Sie die Standard-C-Funktion auf. Weitere Informationen finden Sie unter Beispiele für Plattformaufrufe. |
|
Naher Stream |
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 |
|
Schließen Sie alle geöffneten Streams außer stdin, stdout und stderr |
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 |
|
Zuordnen Stream mit Dateideskriptor der geöffneten Datei zu |
||
Test für Dateiende auf Stream |
||
Test für Fehler auf Stream |
Nicht zutreffend. Mit PInvoke rufen Sie die Standard-C-Funktion auf. Weitere Informationen finden Sie unter Beispiele für Plattformaufrufe. |
|
Bündiger zu puffern Stream oder Datenträger |
||
Lesezeichen aus dem Stream (Funktionsversionen von getc und getwc) |
||
Lesezeichen von stdin (Funktionsversionen von getchar und getwchar) |
||
Rufen Sie Stellungsanzeiger des Streams ab |
||
Lesezeichenfolge dem Stream |
System::IO::StreamReader::ReadLine, System::IO::TextReader::ReadBlock |
|
Rufen Sie den Dateideskriptor ab, der mit Stream zugeordnet ist |
||
Leeres alle Streams dem Puffer oder dem Datenträger |
System::IO::FileStream::Flush, System::IO::StreamWriter::Flush, System::IO::TextWriter::Flush, System::IO::BinaryWriter::Flush |
|
Öffnen Sie Stream |
||
fprintf, _fprintf_l, fwprintf, _fwprintf_l, fprintf_s, _fprintf_s_l, fwprintf_s, _fwprintf_s_l |
zum formatierte Daten, um zu streamen |
|
Schreiben Sie ein Zeichen zu einem Stream Funktionsversionen (von putc und putwc) |
||
Schreiben Sie stdout Zeichen (Funktionsversionen von putchar und putwchar) |
||
Schreiben Sie den Stream Zeichenfolge |
||
Lesen Sie unformatierte Daten aus dem Stream |
||
Weisen Sie FILE Stream-Zeiger die neue Datei oder das Gerät neu zu |
||
fscanf, fwscanf, fscanf_s, _fscanf_s_l, fwscanf_s, _fwscanf_s_l |
Lesen formatierte Daten aus dem Stream |
System::IO::StreamReader::ReadLine; siehe auch Parse-Methoden, wie System::Double::Parse. |
Verschieben Dateiposition auf angegebenen Position |
System::IO::FileStream::Position, System::IO::FileStream::Seek |
|
Festgelegter Stellungsanzeiger des Streams |
||
Öffnen Sie Stream mit Datenzugriff |
Nicht zutreffend. Mit PInvoke rufen Sie die Standard-C-Funktion auf. Weitere Informationen finden Sie unter Beispiele für Plattformaufrufe. |
|
Rufen Sie Position der aktuellen Datei ab |
||
Schreiben Sie unformatierte Datenelemente den Stream |
||
Lesezeichen aus dem Stream (Makroversionen von fgetc und fgetwc) |
||
Lesezeichen von stdin (Makroversionen von fgetchar und fgetwchar) |
||
Gibt die Anzahl der gleichzeitig geöffneten Dateien zurück, die auf der Stream E/A-Ebene zulässig sind. |
Nicht zutreffend. Mit PInvoke rufen Sie die Standard-C-Funktion auf. Weitere Informationen finden Sie unter Beispiele für Plattformaufrufe. |
|
Lesezeile von stdin |
||
Lesen binäres int vom Stream |
Nicht zutreffend. Mit PInvoke rufen Sie die Standard-C-Funktion auf. Weitere Informationen finden Sie unter Beispiele für Plattformaufrufe. |
|
printf, _printf_l, wprintf, _wprintf_l,printf_s, _printf_s_l, wprintf_s, _wprintf_s_l |
zum formatierte Daten an stdout |
|
Schreiben von Zeichen in einem Stream Makroversionen (von fputc und fputwc) |
||
Schreiben Sie stdout Zeichen (Makroversionen von fputchar und fputwchar) |
||
Schreiben Sie Zeile zum Stream |
||
Schreiben Sie binäres int zum Stream |
Nicht zutreffend. Mit PInvoke rufen Sie die Standard-C-Funktion auf. Weitere Informationen finden Sie unter Beispiele für Plattformaufrufe. |
|
Verschieben Dateiposition auf das Starten des Streams |
Nicht zutreffend. Mit PInvoke rufen Sie die Standard-C-Funktion auf. Weitere Informationen finden Sie unter Beispiele für Plattformaufrufe. |
|
Entfernen Sie die temporären Dateien, die von tmpfile erstellt werden |
Nicht zutreffend. Mit PInvoke rufen Sie die Standard-C-Funktion auf. Weitere Informationen finden Sie unter Beispiele für Plattformaufrufe. |
|
scanf, _scanf_l, wscanf, _wscanf_l,scanf_s, _scanf_s_l, wscanf_s, _wscanf_s_l |
Lesen Sie formatierte Daten von stdin |
System::Console::ReadLine; siehe auch Parse-Methoden, wie System::Double::Parse. |
Steuerstreampufferung |
Nicht zutreffend. Mit PInvoke rufen Sie die Standard-C-Funktion auf. Weitere Informationen finden Sie unter Beispiele für Plattformaufrufe. |
|
Legen Sie maximal für die Anzahl von gleichzeitig geöffneten Dateien auf der Stream E/A-Ebene fest. |
Nicht zutreffend. Mit PInvoke rufen Sie die Standard-C-Funktion auf. Weitere Informationen finden Sie unter Beispiele für Plattformaufrufe. |
|
Steuerstreampufferung und -Puffergröße |
Nicht zutreffend. Mit PInvoke rufen Sie die Standard-C-Funktion auf. Weitere Informationen finden Sie unter Beispiele für Plattformaufrufe. |
|
_snprintf, _snwprintf, _snprintf_s, _snprintf_s_l, _snwprintf_s, _snwprintf_s_l |
zum formatierte Daten der angegebenen Länge in string, |
Nicht zutreffend. Mit PInvoke rufen Sie die Standard-C-Funktion auf. Weitere Informationen finden Sie unter Beispiele für Plattformaufrufe. |
_snscanf, _snwscanf, _snscanf_s, _snscanf_s_l, _snwscanf_s, _snwscanf_s_l |
Lesen von formatierten Daten einer angegebenen Länge aus dem Standardeingabestream. |
Nicht zutreffend. Mit PInvoke rufen Sie die Standard-C-Funktion auf. Weitere Informationen finden Sie unter Beispiele für Plattformaufrufe. |
sprintf, swprintf, sprintf_s, _sprintf_s_l, swprintf_s, _swprintf_s_l |
zum formatierte Daten in string, |
|
sscanf, swscanf, sscanf_s, _sscanf_s_l, swscanf_s, _swscanf_s_l |
Lesen formatierte Daten von der Zeichenfolge |
Siehe Parse-Methoden, z System::Double::Parse |
Generieren Sie temporären Dateinamen im angegebenen Verzeichnis |
Nicht zutreffend. Mit PInvoke rufen Sie die Standard-C-Funktion auf. Weitere Informationen finden Sie unter Beispiele für Plattformaufrufe. |
|
Erstellen Sie temporäre Datei |
Nicht zutreffend. Mit PInvoke rufen Sie die Standard-C-Funktion auf. Weitere Informationen finden Sie unter Beispiele für Plattformaufrufe. |
|
Generieren Sie temporären Dateinamen |
Nicht zutreffend. Mit PInvoke rufen Sie die Standard-C-Funktion auf. Weitere Informationen finden Sie unter Beispiele für Plattformaufrufe. |
|
Drücken Sie Zeichenrückseite auf Stream |
Nicht zutreffend. Mit PInvoke rufen Sie die Standard-C-Funktion auf. Weitere Informationen finden Sie unter Beispiele für Plattformaufrufe. |
|
_vcprintf, _vcwprintf, _vcprintf_s, _vcprintf_s_l, _vcwprintf_s, _vcwprintf_s_l |
zum formatierte Daten der Konsole. |
|
vfprintf, vfwprintf, vfprintf_s, _vfprintf_s_l, vfwprintf_s, _vfwprintf_s_l |
zum formatierte Daten, um zu streamen |
Nicht zutreffend. Mit PInvoke rufen Sie die Standard-C-Funktion auf. Weitere Informationen finden Sie unter Beispiele für Plattformaufrufe. |
vprintf, vwprintf, vprintf_s, _vprintf_s_l, vwprintf_s, _vwprintf_s_l |
zum formatierte Daten an stdout |
|
_vsnprintf, _vsnwprintf, vsnprintf_s, _vsnprintf_s, _vsnprintf_s_l, _vsnwprintf_s, _vsnwprintf_s_l |
zum formatierte Daten der angegebenen Länge, um zu puffern |
Nicht zutreffend. Mit PInvoke rufen Sie die Standard-C-Funktion auf. Weitere Informationen finden Sie unter Beispiele für Plattformaufrufe. |
vsprintf, vswprintf, vsprintf_s, _vsprintf_s_l, vswprintf_s, _vswprintf_s_l |
zum formatierte Daten, um zu puffern |
Wenn ein Programm die Ausführung beginnt, öffnet der Startcode automatisch mehrere Streamtypen: Standardeingabe (dargestellt durch stdin), auf die Standardausgabe (dargestellt auf über stdout) und einen (dargestellt auf von stderr). Diese Streams werden auf die Konsole (Tastatur und Bildschirm) standardmäßig verwiesen. Verwenden Sie freopen, um stdin, stdout oder stderr in einer Datenträgerdatei oder auf einem Gerät umzuleiten.
Die Dateien, die mit der Streamroutinen geöffnet sind, werden standardmäßig gepuffert. Die Funktionen stdout und stderr werden entfernt, sobald sie oder vollständig sind, wenn Sie zu einem Zeichengerät schreiben, nach jeder Bibliotheksaufruf. Wenn ein Programm einen endet, bleiben Ausgabepuffer nicht, Ergebnis beim Verlust von Daten geschrieben werden. Verwenden Sie fflush oder _flushall, um sicherzustellen, dass die Puffer, der einer bestimmten Datei zugeordnet sind oder dem Betriebssystem alle offenen Puffer geleert werden, das Daten zwischenspeichern kann, bevor sie auf Festplatte schreiben können. Die Datenträgercommitfunktion wird sichergestellt, dass der geleerte Pufferinhalt nicht im Ereignishandler einen Systemfehler verloren geht.
Es gibt zwei Möglichkeiten, den Pufferinhalts Datenträger zu übertragen:
Link mit der Datei COMMODE.OBJ, um eines globalen Commitflags festzulegen. Die Standardeinstellung des globalen Flags ist n, für NO-Commit "."
Legen Sie das Modusflag auf c mit fopen oder _fdopen fest.
Jede beliebige Datei, die speziell entweder mit dem Flag c oder n geöffnet ist, verhält sich entsprechend dem Flag, unabhängig vom Zustand des globalen commit/no-commit Flags.
Wenn das Programm nicht explizit einen Stream enthält, ist der Stream automatisch geschlossen, wenn das Programm beendet wird. Sie sollten jedoch einen Stream, wenn das Programm beendet, damit als Anzahl von Streams schließen, die geöffnet werden können gleichzeitig ist eingeschränkt. Weitere Informationen finden Sie unter _setmaxstdio über diese Grenze.
Eingabe kann Ausgabe nur mit einem zwischenzeitlichen Aufruf von fflush oder einer Datei-positionierenden Funktion (fseek, fsetpos oder rewind) direkt folgen. Ausgabe kann ohne Eingabe einen zwischenzeitlichen Aufruf einer Datei-positionierenden Funktion ausführen, wenn die Eingabeoperation das Dateiende erreicht.