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 |
---|---|---|
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. |
|
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 |
|
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 |
|
Associar o fluxo com o descritor do arquivo aberto |
||
Testar a fim de arquivo no fluxo |
||
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. |
|
Fluxo do nível a utilização de buffer ou dispositivo de armazenamento |
||
Caractere de leitura de fluxo (versões da função de getc e de getwc) |
||
Caractere de leitura de stdin (versões da função de getchar e de getwchar) |
||
Obter o indicador da posição do fluxo |
||
Cadeia de caracteres de leitura de fluxo |
System::IO::StreamReader::ReadLine, System::IO::TextReader::ReadBlock |
|
Obter o descritor de arquivo associado com o fluxo |
||
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 |
|
Fluxo aberto |
||
fprintf, _fprintf_l, fwprintf, _fwprintf_l, fprintf_s, _fprintf_s_l, fwprintf_s, _fwprintf_s_l |
Dados formatados de gravação para transmitir |
|
Grave um caractere para um fluxo (as versões da função de putc e de putwc) |
||
Caractere de gravação a stdout (versões da função de putchar e de putwchar) |
||
Cadeia de caracteres de gravação para transmitir |
||
Dados sem formatação de leitura de fluxo |
||
Reatribua o ponteiro de fluxo de FILE para o novo arquivo ou ao dispositivo |
||
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. |
Mova o local especificado na posição do arquivo |
System::IO::FileStream::Position, System::IO::FileStream::Seek |
|
Indicador de posição do conjunto de fluxo |
||
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. |
|
Obter a posição atual do arquivo |
||
Grave itens de dados sem formatação para o fluxo |
||
Caractere de leitura de fluxo (versões macro de fgetc e de fgetwc) |
||
Caractere de leitura de stdin (versões macro de fgetchar e de fgetwchar) |
||
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. |
|
Linha de leitura de stdin |
||
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 |
|
Caractere de gravação a um fluxo (versões macro de fputc e de fputwc) |
||
Caractere de gravação a stdout (versões macro de fputchar e de fputwchar) |
||
Linha de gravação para transmitir |
||
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. |
|
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. |
|
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. |
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. |
|
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. |
|
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 |
|
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 |
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. |
|
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. |
|
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. |
|
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. |
|
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 |
|
_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 |
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.