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 |
---|---|---|
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. |
|
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 |
|
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 |
|
Associar o fluxo com o descritor de arquivo do arquivo aberto |
System::IO::FileStream::FileStream |
|
Teste para o fim do arquivo no fluxo |
||
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. |
|
Liberar o fluxo para o buffer ou dispositivo de armazenamento |
||
Ler caracteres de fluxo (funcionarem versões do getc e getwc) |
||
Ler caractere da stdin (funcionarem versões do getchar e getwchar) |
||
Obtenha o indicador de posição do fluxo |
||
Ler a seqüência de caracteres do fluxo |
System::IO::StreamReader::ReadLine, System::IO::TextReader::ReadBlock |
|
Obter o descritor de arquivo associado ao fluxo |
||
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 |
|
Abrir fluxo |
||
fprintf, _fprintf_l, fwprintf, _fwprintf_l, fprintf_s, _fprintf_s_l, fwprintf_s, _fwprintf_s_l |
Gravar os dados formatados em fluxo |
|
Escreva um caractere em um fluxo (funcionarem versões do putc e putwc) |
||
Escreva o caractere para stdout (funcionarem versões do putchar e putwchar) |
||
Gravar a seqüência de caracteres em fluxo |
||
Ler dados não formatados de fluxo |
||
Reatribuir FILE ponteiro de fluxo para o novo arquivo ou dispositivo |
||
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. |
Mover a posição do arquivo para dada local |
System::IO::FileStream::position, System::IO::FileStream:: Seek |
|
Indicador de posição do conjunto de fluxo |
||
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. |
|
Obter a posição atual do arquivo |
||
Os itens de dados não formatados para o fluxo de gravação. |
||
Ler caracteres de fluxo (versões de macro do fgetc e fgetwc) |
||
Ler caractere da stdin (versões de macro do fgetchar e fgetwchar) |
||
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. |
|
Linha de leitura dostdin |
||
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 |
|
Gravar caractere em um fluxo (versões de macro do fputc e fputwc) |
||
Escreva o caractere para stdout (versões de macro do fputchar e fputwchar) |
||
Gravar fluxo linha |
||
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. |
|
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. |
|
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. |
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. |
|
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. |
|
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 |
|
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 |
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. |
|
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. |
|
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. |
|
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. |
|
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 |
|
_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 |
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.