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.
Parte 5: 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.
}
#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.
}
Resultado esperado do código acima:
Número do RA:
316938
Nome do aluno:
Matheus
Você foi bem objetivo, mesmo eu sem grandes conhecimentos de C++ entendi tudo !
Até mais .