Flusso I/O
Queste funzioni elaborare i dati nelle dimensioni e in diversi formati, da singoli caratteri alle dimensioni strutture dei dati.Fornisce anche il buffer, migliorando le prestazioni.La dimensione predefinita di un buffer del flusso è 4K.I buffer di influenza di routine solo creati dalle routine di libreria di runtime e non hanno alcun effetto sui buffer creati dal sistema operativo.
Routine del flusso I/O
routine |
Utilizzare |
equivalente di .NET Framework |
---|---|---|
Un indicatore di errore per il flusso |
Non applicabile.Per chiamare la funzione c standard, utilizzare PInvoke.Per ulteriori informazioni, vedere Esempi di pinvoke. |
|
chiudere il flusso |
System:: I:: flusso:: Chiudere, System:: I:: BinaryReader:: Chiudere, System:: I:: BinaryWriter:: Chiudere, System:: I:: l'oggetto TextReader:: Chiudere, System:: I:: TextWriter:: Chiudere, System:: I:: StringReader:: Chiudere, System:: I:: StringWriter:: Chiudere, System:: I:: StreamReader:: Chiudere, System:: I:: StreamWriter:: Chiudere |
|
Chiudere tutti i flussi aperti tranne stdin, stdoute stderr |
System:: I:: flusso:: Chiudere, System:: I:: BinaryReader:: Chiudere, System:: I:: BinaryWriter:: Chiudere, System:: I:: l'oggetto TextReader:: Chiudere, System:: I:: TextWriter:: Chiudere, System:: I:: StringReader:: Chiudere, System:: I:: StringWriter:: Chiudere, System:: I:: StreamReader:: Chiudere, System:: I:: StreamWriter:: Chiudere |
|
Flusso del membro con il descrittore del file aperto |
System:: I:: FILESTREAM:: FILESTREAM |
|
Test di fine del file sul flusso |
||
Test dell'errore nel flusso |
Non applicabile.Per chiamare la funzione c standard, utilizzare PInvoke.Per ulteriori informazioni, vedere Esempi di pinvoke. |
|
Svuotare il flusso del buffer o al dispositivo di archiviazione |
||
Leggere il carattere dal flusso (versioni della funzione getc e getwc) |
||
leggere il carattere da stdin (versioni della funzione getchar e getwchar) |
||
Ottenere il localizzatore del flusso |
||
Stringa letti dal flusso |
System:: I:: StreamReader:: ReadLine, System:: I:: l'oggetto TextReader:: ReadBlock |
|
Ottenere il descrittore del file associato al flusso |
||
Svuotare tutti i flussi il buffer o al dispositivo di archiviazione |
System:: I:: FILESTREAM:: arrossir, System:: I:: StreamWriter:: arrossir, System:: I:: TextWriter:: arrossir, System:: I:: BinaryWriter:: arrossir |
|
aprire il flusso |
||
fprintf, _fprintf_l, fwprintf, _fwprintf_l, fprintf_s, _fprintf_s_l, fwprintf_s, _fwprintf_s_l |
Scrittura formattata i dati per trasmettere |
|
Scrivere un carattere in un flusso (versioni della funzione putc e putwc) |
||
scrivere il carattere a stdout (versioni della funzione putchar e putwchar) |
||
Scrivere una stringa nel flusso |
||
Leggere i dati senza formato dal flusso |
||
riassegnare FILE puntatore del flusso al nuovo file o al dispositivo |
||
fscanf, fwscanf, fscanf_s, _fscanf_s_l, fwscanf_s, _fwscanf_s_l |
Dati formattati letti dal flusso |
System:: I:: StreamReader:: ReadLine; vedere inoltre Parse metodi, ad esempio System:: doppio:: Di traccia. |
Percorso del file di spostarsi sul percorso specificato |
System:: I:: FILESTREAM:: Percorso, System:: I:: FILESTREAM:: ricerca |
|
Impostare il localizzatore del flusso |
||
Aprire il flusso alla condivisione di file |
Non applicabile.Per chiamare la funzione c standard, utilizzare PInvoke.Per ulteriori informazioni, vedere Esempi di pinvoke. |
|
Ottenere la posizione corrente del file |
||
Scrivere gli elementi di dati non formattato al flusso |
||
Leggere il carattere dal flusso (macro versioni di fgetc e fgetwc) |
||
leggere il carattere da stdin (macro versioni di fgetchar e fgetwchar) |
||
Restituisce il numero dei file aperti contemporaneamente consentiti a livello del flusso I/O. |
Non applicabile.Per chiamare la funzione c standard, utilizzare PInvoke.Per ulteriori informazioni, vedere Esempi di pinvoke. |
|
Riga letti da stdin |
||
Leggi binario int dal flusso |
Non applicabile.Per chiamare la funzione c standard, utilizzare PInvoke.Per ulteriori informazioni, vedere Esempi di pinvoke. |
|
printf, _printf_l, wprintf, _wprintf_l,printf_s, _printf_s_l, wprintf_s, _wprintf_s_l |
Scrittura formattata i dati a stdout |
|
Scrivere il carattere in un flusso (macro versioni di fputc e fputwc) |
||
scrivere il carattere a stdout (macro versioni di fputchar e fputwchar) |
||
Scrivere la riga nel flusso |
||
scrivere il binario int per trasmettere |
Non applicabile.Per chiamare la funzione c standard, utilizzare PInvoke.Per ulteriori informazioni, vedere Esempi di pinvoke. |
|
Percorso del file di spostamento all'avvio del flusso |
Non applicabile.Per chiamare la funzione c standard, utilizzare PInvoke.Per ulteriori informazioni, vedere Esempi di pinvoke. |
|
Rimuovere i file temporanei creati da tmpfile |
Non applicabile.Per chiamare la funzione c standard, utilizzare PInvoke.Per ulteriori informazioni, vedere Esempi di pinvoke. |
|
scanf, _scanf_l, wscanf, _wscanf_l,scanf_s, _scanf_s_l, wscanf_s, _wscanf_s_l |
Dati formattati letti da stdin |
System:: console:: ReadLine; vedere inoltre Parse metodi, ad esempio System:: doppio:: Di traccia. |
Memorizzazione nel buffer del flusso di controllo |
Non applicabile.Per chiamare la funzione c standard, utilizzare PInvoke.Per ulteriori informazioni, vedere Esempi di pinvoke. |
|
Impostare un valore massimo per il numero di file aperti contemporaneamente a livello del flusso I/O. |
Non applicabile.Per chiamare la funzione c standard, utilizzare PInvoke.Per ulteriori informazioni, vedere Esempi di pinvoke. |
|
Buffer e dimensione del buffer del flusso di controllo |
Non applicabile.Per chiamare la funzione c standard, utilizzare PInvoke.Per ulteriori informazioni, vedere Esempi di pinvoke. |
|
_snprintf, _snwprintf, _snprintf_s, _snprintf_s_l, _snwprintf_s, _snwprintf_s_l |
Scrittura formattata i dati della lunghezza specificata in stringa |
Non applicabile.Per chiamare la funzione c standard, utilizzare PInvoke.Per ulteriori informazioni, vedere Esempi di pinvoke. |
_snscanf, _snwscanf, _snscanf_s, _snscanf_s_l, _snwscanf_s, _snwscanf_s_l |
Dati formattati letti di lunghezza specificata dal flusso di input standard. |
Non applicabile.Per chiamare la funzione c standard, utilizzare PInvoke.Per ulteriori informazioni, vedere Esempi di pinvoke. |
a sprintf, swprintf, sprintf_s, _sprintf_s_l, swprintf_s, _swprintf_s_l |
Scrittura formattata i dati in stringa |
|
sscanf, swscanf, sscanf_s, _sscanf_s_l, swscanf_s, _swscanf_s_l |
Dati formattati letti da stringa |
vedere Parse metodi, ad esempio System:: doppio:: Di traccia |
Generare il nome di file temporaneo nella directory specificata |
Non applicabile.Per chiamare la funzione c standard, utilizzare PInvoke.Per ulteriori informazioni, vedere Esempi di pinvoke. |
|
creare il file temporaneo |
Non applicabile.Per chiamare la funzione c standard, utilizzare PInvoke.Per ulteriori informazioni, vedere Esempi di pinvoke. |
|
Generare il nome di file temporaneo |
Non applicabile.Per chiamare la funzione c standard, utilizzare PInvoke.Per ulteriori informazioni, vedere Esempi di pinvoke. |
|
Respingere il carattere nel flusso |
Non applicabile.Per chiamare la funzione c standard, utilizzare PInvoke.Per ulteriori informazioni, vedere Esempi di pinvoke. |
|
_vcprintf, _vcwprintf, _vcprintf_s, _vcprintf_s_l, _vcwprintf_s, _vcwprintf_s_l |
Scrittura formattata i dati nella console. |
|
vfprintf, vfwprintf, vfprintf_s, _vfprintf_s_l, vfwprintf_s, _vfwprintf_s_l |
Scrittura formattata i dati per trasmettere |
Non applicabile.Per chiamare la funzione c standard, utilizzare PInvoke.Per ulteriori informazioni, vedere Esempi di pinvoke. |
vprintf, vwprintf, vprintf_s, _vprintf_s_l, vwprintf_s, _vwprintf_s_l |
Scrittura formattata i dati a stdout |
|
_vsnprintf, _vsnwprintf, vsnprintf_s, _vsnprintf_s, _vsnprintf_s_l, _vsnwprintf_s, _vsnwprintf_s_l |
Scrittura formattata i dati della lunghezza specificata per la memorizzazione nel buffer |
Non applicabile.Per chiamare la funzione c standard, utilizzare PInvoke.Per ulteriori informazioni, vedere Esempi di pinvoke. |
vsprintf, vswprintf, vsprintf_s, _vsprintf_s_l, vswprintf_s, _vswprintf_s_l |
Scrittura formattata i dati per la memorizzazione nel buffer |
Quando un programma inizia l'esecuzione, il codice di avvio automatico aperto più flussi: input standard (puntato in near stdin), standard ha restituito (puntato in near stdout) e errore standard (puntato in near stderr).I flussi vengono indirizzati alla console (tastiera e schermo) per impostazione predefinita.utilizzo freopen per reindirizzare stdin, stdout, o stderr in un file su disco o a un dispositivo.
I file aperti utilizzando le routine di flusso sono memorizzati nel buffer per impostazione predefinita.stdout e stderr le funzioni vengono scaricate e memorizzate ogni volta che vengono completate o, se si sta scrivendo in un dispositivo di carattere, dopo ogni chiamata della libreria.Se un programma termina in maniera insolita, i buffer di output non possono essere scaricati, con conseguente perdita di dati.utilizzo fflush o _flushall per assicurarsi che il buffer associato a un file specificato o tutti buffer aperti viene scaricata al sistema operativo, che può memorizzare i dati prima di scrivere sul disco.La funzionalità di commit da disco garantisce che il contenuto scaricati del buffer non vadano perduti in caso di errore di sistema.
Esistono due modi per eseguire il commit del contenuto del buffer su disco:
Collegamento al file COMMODE.OBJ per impostare un flag globale di commit.L'impostazione predefinita del flag globale viene n, per “NO primary interop commit.„
Impostare il flag in modalità a c con fopen o _fdopen.
Qualsiasi file in modo specifico aperto con uno c o n il flag si comporta come il flag, indipendentemente dallo stato del flag globale di commit/no-commit.
Se il programma in modo esplicito non chiude un flusso, il flusso automaticamente viene chiuso quando il programma termina.Tuttavia, è necessario chiudere un flusso quando il programma completa con, ad esempio il numero dei flussi che possono essere aperti contemporaneamente sono limitati.vedere _setmaxstdio per informazioni sul limite.
L'input possibile utilizzare direttamente l'output solo con una corrispondente chiamata a fflush o a una funzione di posizionamento dei file (fseek, fsetpos, o rewind).L'output può seguire input senza una corrispondente chiamata a una funzione di posizionamento dei file se l'operazione di input rileva la fine del file.