Leitura e gravação de arquivos
Se você usou as funções de manipulação de arquivos de biblioteca de tempo de execução C, ler e gravar operações do MFC aparecerá familiar.Este artigo descreve ler diretamente do e gravar diretamente em um CFile objeto.Você também pode buffer de e/S de arquivo com o CArchive classe.
Para ler e gravar no arquivo
Use o leitura e escrever funções de membro para ler e gravar dados no arquivo.
- ou -
O Seek função de membro também está disponível para mover para um deslocamento específico dentro do arquivo.
Leitura leva um ponteiro para um buffer e o número de bytes de leitura e retorna o número real de bytes que foram lidos.Se o número necessário de bytes não pôde ser lida porque o final de arquivo (EOF) é alcançado, o número real de bytes lidos é retornado.Se ocorrer qualquer erro de leitura, uma exceção é lançada.Escrever é semelhante a leitura, mas não será retornado o número de bytes gravados.Se ocorrer um erro de gravação, incluindo não escrever todos os bytes especificados, uma exceção é lançada.Se você tiver um válido CFile de objeto, você pode lê-lo ou gravar conforme mostrado no exemplo a seguir:
TCHAR szBuffer[256];
UINT nActual = 0;
CFile myFile;
if ( myFile.Open( _T("c:\\test\\myfile.dat"), CFile::modeCreate |
CFile::modeReadWrite ) )
{
myFile.Write( szBuffer, sizeof( szBuffer ) );
myFile.Flush();
myFile.Seek( 0, CFile::begin );
nActual = myFile.Read( szBuffer, sizeof( szBuffer ) );
}
Observação |
---|
Você normalmente deve executar operações de entrada e saída dentro de um tente/catch bloco de tratamento de exceção.Para obter mais informações, consulte De manipulação de exceção (MFC). |