Manipulação de arquivos em C++

Neste breve artigo faço uma apresentação do conceito de arquivos, como o sistema operacional os encara, em especial em sistemas Linux e como é sua manipulação em C++, com códigos de exemplo de leitura e/ou gravação dos mesmos.

[ Hits: 132.307 ]

Por: Matheus Santana Lima em 13/11/2008


O que são as classes iostream e fstream.h



O C++, como exemplificado anteriormente, utiliza as classes ofstream e ifstream (membros da classe iostream) para realizar, respectivamente, a gravação e leitura de arquivos. Para realizar ambos em um mesmo arquivo utilizamos a classe fstream.h

Quando utilizamos fstream, necessariamente também precisamos fazer uso da função open(), que é a responsável por fazer a referência de um objeto (alocado na memória) com um arquivo. Utilizando ofstream e ifstream, esta "ligação" com um arquivo é feita diretamente na declaração do objeto.

Para utilizarmos as classes iostream e fstream, é necessário que façamos a referência das mesmas no código:

#include <fstream.h>
#include <iostream>

Para fazer a gravação no arquivo, usamos a função:

<objeto_de_dados>.write( (char *)&<objeto_para_ser_gravado>, sizeof(<classe_molde_do_objeto_a_ser_gravado>))

Para fazer a leitura no arquivo, usamos a função:

<objeto_de_dados>.read( (char *)&<objeto_para_ser_gravado>, sizeof(<classe_molde_do_objeto_a_ser_gravado>))

Página anterior     Próxima página

Páginas do artigo
   1. O que são arquivos?
   2. Manipulação de arquivos - Como funciona?
   3. O que são as classes iostream e fstream.h
   4. Exemplo de gravação - (ofstream) - Gravando um registro
   5. Exemplo de gravação - (ifstream) - Lendo um registro
   6. Exemplo de gravação - (ofstream) - Gravando vários registros
   7. Exemplo de gravação - (ifstream) - Lendo vários registros
   8. Exemplo de gravação e leitura - (fstream)
Outros artigos deste autor

Análise do Syllable, mais um interresante sistema operacional livre

Polimorfismo - Uma visão em C++ e Java

Visopsys - Sistema Operacional aberto e portátil para manipulação de discos rígidos

Fazendo montagens com o Gimp

Análise do Mandriva Free 2006 - Conhecendo melhor o sistema

Leitura recomendada

Manipulação de imagens no formato PPM

Manipulando arquivos em C (parte 1)

Manipulando arquivos em C (parte 2)

Ponteiros - Saindo de Pesadelos

Criando uma aplicação gráfica com o Qt Designer

  
Comentários
[1] Comentário enviado por marcrock em 13/11/2008 - 15:21h

Muito bom cara !!!!
Você foi bem objetivo, mesmo eu sem grandes conhecimentos de C++ entendi tudo !

Até mais .

[2] Comentário enviado por vsenna em 17/11/2008 - 02:25h

Muito bom seu texto, está escrito de forma bem clara!

[]'s

[3] Comentário enviado por andrezc em 11/04/2010 - 19:35h

Há alguns erros. Por exemplo, no primeiro código faltou uma biblioteca, a cstring, para usar a função strcpy(). E você usou bibliotecas da linguagem C, como stdio.h. O correto seria:

#include <cstdio>

mesma coisa com

#include <fstream.h>

o correto seria:

#include <fstream>


André
[]'s

[4] Comentário enviado por [email protected] em 16/06/2011 - 12:36h

como faço um programa em c++ que verifique quais as letras do alfabeto estao faltando em um texto por favome ajude envie para:[email protected]

[5] Comentário enviado por DarthVictor em 26/06/2011 - 13:56h

Muito bom. Apesar de sempre ter usado #include <cstdlib.h>, fprinf, fscanf, etc; em C++. Gosto mais das funções em C e muitos programas tem de ser escritos orientado a objetos.

[6] Comentário enviado por LucianoAlexandre em 15/03/2012 - 07:41h

Legal, muito bom o artigo!!!

[7] Comentário enviado por CiroboyBR em 15/05/2015 - 05:42h

Bem fácil de entender. vlw pelo tuto.


Contribuir com comentário