Lendo e gravando arquivos
Se você usou as funções de manipulação arquivo de biblioteca de tempo de execução C, a leitura de MFC e as operações de gravação parecerão familiares. Este artigo descreve diretamente de ler e gravar diretamente a um objeto de CFile . Você também pode fazer o arquivo armazenado no buffer de E/S com a classe de CArchive .
Para ler e gravar no arquivo
Use as funções de membro de Ler e de Gravar para ler e gravar dados no arquivo.
- ou -
A função de membro de Seek também está disponível para ir para um deslocamento específico dentro do arquivo.
Ler usa um ponteiro para um buffer e o número de bytes a serem lidos e retorna o número real de bytes que foi lido. Se o número de bytes exigido não pôde ser lido como participante (EOF) de Arquivo for atingido, o número real de bytes é retornado. Se qualquer erro de leitura, ocorre uma exceção será lançada. Gravar é semelhante a Ler, mas o número de bytes gravados não é retornado. Se um ocorrerem erros, incluindo a gravação de todos os bytes especificado, será lançada uma exceção. Se você tiver um objeto válido de CFile , você pode ler deles ser gravada nele conforme mostrado no seguinte exemplo:
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 ) );
}
Dica
Você normalmente deve realizar operações de entrada/saída dentro de um bloco de manipulação de exceção de try/catch .Para obter mais informações, consulte Manipulação de exceções (MFC).