Partilhar via


Fluxo de i/O

Essas funções processam dados em diferentes tamanhos e formatos, de caracteres únicos para estruturas de dados grandes.Eles também fornecem armazenamento em buffer, que pode melhorar o desempenho.O tamanho padrão de um buffer é de 4 k.Essas rotinas afetam somente os buffers criados pelas rotinas da biblioteca de tempo de execução e não têm efeito nos buffers criado pelo sistema operacional.

Rotinas de fluxo de i/O

Rotina

Uso

.Equivalente do NET Framework

clearerr,clearerr_s

Indicador de erro clara para fluxo

Não aplicável.Para chamar a função c padrão, use PInvoke.Para obter mais informações, consulte Exemplos de invocação de plataforma.

fclose

Fluxo de fechamento

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

_fcloseall

Feche todos os fluxos, exceto stdin, stdout, estderr

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

_fdopen, wfdopen

Associar o fluxo com o descritor de arquivo do arquivo aberto

System::IO::FileStream::FileStream

feof

Teste para o fim do arquivo no fluxo

System::IO::FileStream::Read

ferror

Teste de erro no fluxo

Não aplicável.Para chamar a função c padrão, use PInvoke.Para obter mais informações, consulte Exemplos de invocação de plataforma.

fflush

Liberar o fluxo para o buffer ou dispositivo de armazenamento

System::IO::FileStream::flush

fgetc, fgetwc

Ler caracteres de fluxo (funcionarem versões do getc e getwc)

System::IO::StreamReader::Read

_fgetchar, _fgetwchar

Ler caractere da stdin (funcionarem versões do getchar e getwchar)

System::console::Read

fgetpos

Obtenha o indicador de posição do fluxo

System::IO::FileStream::position

fgets, fgetws

Ler a seqüência de caracteres do fluxo

System::IO::StreamReader::ReadLine, System::IO::TextReader::ReadBlock

_fileno

Obter o descritor de arquivo associado ao fluxo

System::IO::FileStream::Handle

_flushall

Liberar todos os fluxos para buffer ou dispositivo de armazenamento

System::IO::FileStream::flush, System::IO::StreamWriter::Flush, System::IO::TextWriter::Flush, System::IO::BinaryWriter::Flush

fopen, _wfopen,fopen_s, _wfopen_s

Abrir fluxo

System::IO::File::Open

fprintf, _fprintf_l, fwprintf, _fwprintf_l, fprintf_s, _fprintf_s_l, fwprintf_s, _fwprintf_s_l

Gravar os dados formatados em fluxo

System::IO::StreamWriter::Write

fputc, fputwc

Escreva um caractere em um fluxo (funcionarem versões do putc e putwc)

System::IO::StreamWriter::Write

_fputchar, _fputwchar

Escreva o caractere para stdout (funcionarem versões do putchar e putwchar)

System::console::Write

fputs, fputws

Gravar a seqüência de caracteres em fluxo

System::IO::StreamWriter::Write

fRead

Ler dados não formatados de fluxo

System::IO::FileStream::Read

freopen, _wfreopen,freopen_s, _wfreopen_s

Reatribuir FILE ponteiro de fluxo para o novo arquivo ou dispositivo

System::IO::File::Open

fscanf, fwscanf,fscanf_s, _fscanf_s_l, fwscanf_s, _fwscanf_s_l

Dados do fluxo de formatados de leitura

System::IO::StreamReader::ReadLine; Consulte também Parse métodos, como System::Double::Parse.

fseek, _fseeki64

Mover a posição do arquivo para dada local

System::IO::FileStream::position, System::IO::FileStream:: Seek

fsetpos

Indicador de posição do conjunto de fluxo

System::IO::FileStream::position

_fsopen, _wfsopen

Com o compartilhamento de arquivo ao abrir fluxo

Não aplicável.Para chamar a função c padrão, use PInvoke.Para obter mais informações, consulte Exemplos de invocação de plataforma.

ftell, _ftelli64

Obter a posição atual do arquivo

System::IO::FileStream::position

Fwrite

Os itens de dados não formatados para o fluxo de gravação.

System::IO::FileStream::Write

getc, getwc

Ler caracteres de fluxo (versões de macro do fgetc e fgetwc)

System::IO::StreamReader::Read

getchar, getwchar

Ler caractere da stdin (versões de macro do fgetchar e fgetwchar)

System::console::Read

_getmaxstdio

Retorna o número de arquivos abertos simultaneamente permitido no fluxo de nível de i/O.

Não aplicável.Para chamar a função c padrão, use PInvoke.Para obter mais informações, consulte Exemplos de invocação de plataforma.

Obtém, getws,gets_s, _getws_s

Linha de leitura dostdin

System::console::Read

_getw

Leitura binário int do fluxo

Não aplicável.Para chamar a função c padrão, use PInvoke.Para obter mais informações, consulte Exemplos de invocação de plataforma.

printf, _printf_l, wprintf, _wprintf_l,printf_s, _printf_s_l, wprintf_s, _wprintf_s_l

Gravar os dados formatados parastdout

System::console::Write

putc, putwc

Gravar caractere em um fluxo (versões de macro do fputc e fputwc)

System::IO::StreamWriter::Write

putchar, putwchar

Escreva o caractere para stdout (versões de macro do fputchar e fputwchar)

System::console::Write

Coloca, _putws

Gravar fluxo linha

System::console::Write

_putw

Escrever binário int a fluxo

Não aplicável.Para chamar a função c padrão, use PInvoke.Para obter mais informações, consulte Exemplos de invocação de plataforma.

retroceder

Mover a posição do arquivo para o início do fluxo de

Não aplicável.Para chamar a função c padrão, use PInvoke.Para obter mais informações, consulte Exemplos de invocação de plataforma.

_rmtmp

Remover arquivos temporários criados portmpfile

Não aplicável.Para chamar a função c padrão, use PInvoke.Para obter mais informações, consulte Exemplos de invocação de plataforma.

scanf, _scanf_l, wscanf, _wscanf_l,scanf_s, _scanf_s_l, wscanf_s, _wscanf_s_l

Leitura formatado dados a partir destdin

System::console::ReadLine; Consulte também Parse métodos, como System::Double::Parse.

setbuf

O buffer de fluxo de controle

Não aplicável.Para chamar a função c padrão, use PInvoke.Para obter mais informações, consulte Exemplos de invocação de plataforma.

_setmaxstdio

Defina nível máximo para o número de arquivos abertos simultaneamente o fluxo de i/O.

Não aplicável.Para chamar a função c padrão, use PInvoke.Para obter mais informações, consulte Exemplos de invocação de plataforma.

setvbuf

O buffer de fluxo de controle e o tamanho do buffer

Não aplicável.Para chamar a função c padrão, use PInvoke.Para obter mais informações, consulte Exemplos de invocação de plataforma.

_snprintf, _snwprintf,_snprintf_s, _snprintf_s_l, _snwprintf_s, _snwprintf_s_l

Gravar dados formatados de comprimento especificado em seqüência

Não aplicável.Para chamar a função c padrão, use PInvoke.Para obter mais informações, consulte Exemplos de invocação de plataforma.

_snscanf, _snwscanf,_snscanf_s, _snscanf_s_l, _snwscanf_s, _snwscanf_s_l

Leitura formatado dados de um comprimento especificado do fluxo de entrada padrão.

Não aplicável.Para chamar a função c padrão, use PInvoke.Para obter mais informações, consulte Exemplos de invocação de plataforma.

sprintf, swprintf,sprintf_s, _sprintf_s_l, swprintf_s, _swprintf_s_l

Gravar dados formatados em seqüência

System::String::Format

sscanf, swscanf,sscanf_s, _sscanf_s_l, swscanf_s, _swscanf_s_l

Ler dados de seqüência de caracteres em formato

Consulte Parse métodos, como System::Double::Parse

_tempnam, _wtempnam

Gerar um nome de arquivo temporário no diretório de dado

Não aplicável.Para chamar a função c padrão, use PInvoke.Para obter mais informações, consulte Exemplos de invocação de plataforma.

tmpfile,tmpfile_s

Criar arquivo temporário

Não aplicável.Para chamar a função c padrão, use PInvoke.Para obter mais informações, consulte Exemplos de invocação de plataforma.

tmpnam, _wtmpnam,tmpnam_s, _wtmpnam_s

Gerar um nome de arquivo temporário

Não aplicável.Para chamar a função c padrão, use PInvoke.Para obter mais informações, consulte Exemplos de invocação de plataforma.

ungetc, ungetwc

Empurre o caractere no fluxo

Não aplicável.Para chamar a função c padrão, use PInvoke.Para obter mais informações, consulte Exemplos de invocação de plataforma.

_vcprintf, _vcwprintf,_vcprintf_s, _vcprintf_s_l, _vcwprintf_s, _vcwprintf_s_l

Escreva dados formatados para o console.

System::console::Write

vfprintf, vfwprintf,vfprintf_s, _vfprintf_s_l, vfwprintf_s, _vfwprintf_s_l

Gravar os dados formatados em fluxo

Não aplicável.Para chamar a função c padrão, use PInvoke.Para obter mais informações, consulte Exemplos de invocação de plataforma.

vprintf, vwprintf,vprintf_s, _vprintf_s_l, vwprintf_s, _vwprintf_s_l

Gravar os dados formatados parastdout

System::console::Write

_vsnprintf, _vsnwprintf,vsnprintf_s, _vsnprintf_s, _vsnprintf_s_l, _vsnwprintf_s, _vsnwprintf_s_l

Gravar os dados formatados de comprimento especificado buffer

Não aplicável.Para chamar a função c padrão, use PInvoke.Para obter mais informações, consulte Exemplos de invocação de plataforma.

vsprintf, vswprintf,vsprintf_s, _vsprintf_s_l, vswprintf_s, _vswprintf_s_l

Gravar dados formatados em buffer

System::String::Format

Quando um programa começa a execução, o código de inicialização abre automaticamente vários fluxos: entrada padrão (apontada por stdin), saída padrão (apontada por stdout) e erro padrão (apontada por stderr).Esses fluxos são direcionados para o console (teclado e tela) por padrão.Use freopen para redirecionar stdin, stdout, ou stderr para um arquivo de disco ou um dispositivo.

Arquivos abertos com as rotinas de fluxo são armazenados em buffer por padrão.O stdout e stderr funções são liberadas sempre que eles estão cheios ou, se você estiver escrevendo para um dispositivo de caractere, após cada chamada de biblioteca.Se um programa é fechado abruptamente, buffers de saída não podem ser liberados, resultando em perda de dados.Use fflush ou _flushall para garantir que o buffer associado a um arquivo especificado ou todos os buffers são liberadas para o sistema operacional, que pode armazenar em cache dados antes de gravá-la em disco.O recurso de confirmação em disco garante que o conteúdo do buffer liberados não é perdido em caso de uma falha do sistema.

Há duas maneiras para confirmar o conteúdo do buffer em disco:

  • A ligação com o arquivo COMMODE.OBJ para definir um sinalizador de confirmação global.A configuração padrão do sinalizador global é n, para "não-confirmação".

  • Set the mode flag to c with fopen or _fdopen.

Especificamente, qualquer arquivo aberto com um a c ou o n sinalizador se comporta de acordo com ao sinalizador, independentemente do estado do sinalizador global não/confirmação-confirmação.

Se seu programa não fechar explicitamente um fluxo, o fluxo está fechado automaticamente, quando o programa é encerrado.No entanto, você deve fechar um fluxo quando o programa termina com ele, como o número de fluxos que podem ser abertos ao mesmo tempo é limitado.Consulte _setmaxstdio para obter informações sobre esse limite.

Entrada pode seguir a saída diretamente apenas com uma chamada de interveniente fflush ou a uma função de posicionamento de arquivo (fseek, fsetpos, ou rewind).Saída pode seguir a entrada sem uma chamada intermediárias para uma função de posicionamento de arquivo se a operação de entrada encontrar o final do arquivo.

Consulte também

Referência

Entrada e Saída

Rotinas de tempo de execução por categoria