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.
Exemplo de gravação - (ifstream) - Lendo um registro
#include <fstream.h> #include <cstdlib> #include <stdio.h> #include <iostream>
using namespace std;
class alunos{
private:
int ra;
char nome[50];
public:
alunos();
void display();
};
alunos :: alunos(){
ra = 1;
strcpy(nome,"");
}
void alunos :: display(){
cout << "Número do RA: " << endl;
cout<< ra << endl;
cout << "Nome do aluno: "<< endl;
cout << nome << endl;
}
int main(){
//Aqui criamos o objeto 'fread', que faz referência ao objeto aluno.txt
ifstream fread("alunos.txt");
//Aqui criamos o objeto 'cad1' usando a classe 'alunos'.
alunos cad1;
fread.read( (char *)&cad1, sizeof(alunos));//Aqui "lemos" o conteúdo do arquivo 'alunos.txt' em 'cad1'. //Usamos o sizeof(alunos) para ler o registro no tamanho certo da classe alunos.
cad1.display();//Imprime na tela o registro.
[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:
[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.