Compartilhar via


E/S de fluxo

Essas funções processam dados em tamanhos e em formatos diferentes, de caracteres únicos em grandes estruturas de dados. Também fornecem a proteção, o que pode melhorar o desempenho. O tamanho padrão de um buffer de fluxo é 4K. Esses buffers de influência de rotinas somente criados por rotinas de biblioteca de tempo de execução, e não têm nenhum efeito nos buffers criados pelo sistema operacional.

Rotinas de E/S de fluxo

Rotina

Uso

Equivalente a .NET Framework

clearerr, clearerr_s

Indicador de erro claro para o fluxo

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

fclose

Feche o fluxo

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

Fechar todos exceto stdinfluxos abertos, stdout, e 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

_fdopen, wfdopen

Associar o fluxo com o descritor do arquivo aberto

System::IO::FileStream::FileStream

feof

Testar a fim de arquivo no fluxo

System::IO::FileStream::Read

ferror

Teste do erro no fluxo

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

fflush

Fluxo do nível a utilização de buffer ou dispositivo de armazenamento

System::IO::FileStream::Flush

fgetc, fgetwc

Caractere de leitura de fluxo (versões da função de getc e de getwc)

System::IO::StreamReader::Read

_fgetchar, _fgetwchar

Caractere de leitura de stdin (versões da função de getchar e de getwchar)

System::Console::Read

fgetpos

Obter o indicador da posição do fluxo

System::IO::FileStream::Position

fgets, fgetws

Cadeia de caracteres de leitura de fluxo

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

_fileno

Obter o descritor de arquivo associado com o fluxo

System::IO::FileStream::Handle

_flushall

Liberar todos os fluxos ao buffer ou no 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

Fluxo aberto

System::IO::File::Open

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

Dados formatados de gravação para transmitir

System::IO::StreamWriter::Write

fputc, fputwc

Grave um caractere para um fluxo (as versões da função de putc e de putwc)

System::IO::StreamWriter::Write

_fputchar, _fputwchar

Caractere de gravação a stdout (versões da função de putchar e de putwchar)

System::Console::Write

fputs, fputws

Cadeia de caracteres de gravação para transmitir

System::IO::StreamWriter::Write

fread

Dados sem formatação de leitura de fluxo

System::IO::FileStream::Read

freopen, _wfreopen, freopen_s, _wfreopen_s

Reatribua o ponteiro de fluxo de FILE para o novo arquivo ou ao dispositivo

System::IO::File::Open

fscanf, fwscanf, fscanf_s, _fscanf_s_l, fwscanf_s, _fwscanf_s_l

Dados formatados de leitura de fluxo

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

fseek, _fseeki64

Mova o local especificado na posição do arquivo

System::IO::FileStream::Position, System::IO::FileStream::Seek

fsetpos

Indicador de posição do conjunto de fluxo

System::IO::FileStream::Position

_fsopen, _wfsopen

Abra o fluxo com o compartilhamento de arquivos

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

ftell, _ftelli64

Obter a posição atual do arquivo

System::IO::FileStream::Position

fwrite

Grave itens de dados sem formatação para o fluxo

System::IO::FileStream::Write

getc, getwc

Caractere de leitura de fluxo (versões macro de fgetc e de fgetwc)

System::IO::StreamReader::Read

getchar, getwchar

Caractere de leitura de stdin (versões macro de fgetchar e de fgetwchar)

System::Console::Read

_getmaxstdio

Retorna o número de arquivos abertos simultaneamente permitidos no fluxo de E/S em nível.

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

obtém o, getws, gets_s, _getws_s

Linha de leitura de stdin

System::Console::Read

_getw

Leitura int de fluxo binário

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

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

Dados formatados de gravação a stdout

System::Console::Write

putc, putwc

Caractere de gravação a um fluxo (versões macro de fputc e de fputwc)

System::IO::StreamWriter::Write

putchar, putwchar

Caractere de gravação a stdout (versões macro de fputchar e de fputwchar)

System::Console::Write

coloca, _putws

Linha de gravação para transmitir

System::Console::Write

_putw

Gravação int binário para transmitir

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

rewind

Posição do arquivo de movimentação ao início do fluxo

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

_rmtmp

Remova os arquivos temporários criados por tmpfile

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

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

Ler dados formatados de stdin

System::Console::ReadLine; consulte também métodos de Parse , como System::Double::Parse.

setbuf

Proteção de fluxo de controle

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

_setmaxstdio

Definir um máximo para o número de arquivos abertos simultaneamente no fluxo de E/S em nível.

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

setvbuf

Proteção e tamanho do buffer de fluxo de controle

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

_snprintf, _snwprintf, _snprintf_s, _snprintf_s_l, _snwprintf_s, _snwprintf_s_l

Grave dados formatados de comprimento especificado para a cadeia de caracteres

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

_snscanf, _snwscanf, _snscanf_s, _snscanf_s_l, _snwscanf_s, _snwscanf_s_l

Ler dados formatados de um comprimento especificado do fluxo de entrada padrão.

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

sprintf, swprintf, sprintf_s, _sprintf_s_l, swprintf_s, _swprintf_s_l

Dados formatados de gravação para string

System::String::Format

sscanf, swscanf, sscanf_s, _sscanf_s_l, swscanf_s, _swscanf_s_l

Dados formatados de leitura da cadeia de caracteres

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

_tempnam, _wtempnam

Gerencia o nome de arquivo temporário no diretório determinado

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

tmpfile, tmpfile_s

Crie o arquivo temporário

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

tmpnam, _wtmpnam, tmpnam_s, _wtmpnam_s

Gerencia o nome de arquivo temporário

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

ungetc, ungetwc

Push para voltar de caractere em fluxo

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

_vcprintf, _vcwprintf, _vcprintf_s, _vcprintf_s_l, _vcwprintf_s, _vcwprintf_s_l

Dados formatados de gravação no console.

System::Console::Write

vfprintf, vfwprintf, vfprintf_s, _vfprintf_s_l, vfwprintf_s, _vfwprintf_s_l

Dados formatados de gravação para transmitir

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

vprintf, vwprintf, vprintf_s, _vprintf_s_l, vwprintf_s, _vwprintf_s_l

Dados formatados de gravação a stdout

System::Console::Write

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

Grave dados formatados de comprimento especificado ao buffer

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

vsprintf, vswprintf, vsprintf_s, _vsprintf_s_l, vswprintf_s, _vswprintf_s_l

Dados formatados de gravação a armazenar em buffer

System::String::Format

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

Os arquivos abertos usando as rotinas de fluxo são armazenados em buffer por padrão. As funções de stdout e de stderr são liberadas sempre que estão completas ou, se você estiver gravando em um dispositivo de caractere, depois de cada chamada de biblioteca. Se um programa será encerrado de forma anormal, os buffers de saída não podem ser liberados, o que resulta em perda de dados. Use fflush ou _flushall para garantir que o buffer associado a um arquivo especificado ou todos os buffers estão abertos liberado para o sistema operacional, que pode armazenar em cachê dados antes de gravar no disco. O recurso de disco confirmação-à- assegura que o conteúdo liberados de buffer não sejam perdidos no caso de uma falha do sistema.

Há duas maneiras de confirmar conteúdo do buffer no disco:

  • Vincule ao arquivo COMMODE.OBJ para definir um sinalizador global de confirmação. A configuração padrão do sinalizador global é n, para “sem confirmação.”

  • Define o sinalizador de modo a c com fopen ou _fdopen.

Qualquer arquivo aberto especificamente com c ou o sinalizador de n se comporta de acordo com o sinalizador, independentemente do estado de sinalizador global de commit/no-commit.

Se o programa não feche explicitamente um fluxo, o fluxo será fechado automaticamente quando o programa será encerrado. Porém, você deve fechar um fluxo quando o programa for concluída com ele, como o número de fluxos que podem ser abertos são limitados ao mesmo tempo. Consulte _setmaxstdio para obter mais informações sobre esse limite.

A entrada pode seguir saída diretamente somente com uma chamada de intervenção a fflush ou a uma função de arquivo posicionamento (fseek, fsetpos, ou rewind). A saída pode acompanhar a entrada sem intervenção de uma chamada a uma função de arquivo posicionamento se a operação de entrada localize ao final do arquivo.

Consulte também

Referência

Entrada e saída

Rotinas de tempo de execução por categoria