Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Sign in to follow this  
crazygod

Problema com Ficheiros Binarios

Recommended Posts

crazygod

Boas pessoal, tenho uma duvida, um problema, nao sei...

tou agora a aprender (autodidata) a mexer com a linguagem C++

e tenho aqui um exemplo de um programa que escrevi e tentei executar o programa e nao consegui....

basicamente o que esta a acontecer é que nao estou a ter acesso num ficheiro binario as coisas que estao para traz, neste exemplo...

#include <iostream>
#include <fstream>
using namespace::std;
const int NUMINT = 20;
int main(){
fstream farray("array.txt", ios::in|ios::out|ios::binary);
//escreve sequencialmente os valores inteiros
for (int i=0; i<NUMINT; ++i)
	farray.write((char *)&i, sizeof(int));
int begin,end;
//inverter os valores inteiros contidos em farray
for(begin=0, end=NUMINT-1; begin < end; ++begin, --end){
	int auxBegin, auxEnd;
	// le o inteiro cuja posição é begin
	farray.seekg(begin * sizeof(int) );
	farray.read((char*)&auxBegin, sizeof(int));
	//le o inteiro cuja posição é end
	farray.seekg(end * sizeof(int));
	farray.read((char*)&auxEnd, sizeof(int));
	//escreve o valor auxEnd na posição auxBegin
	farray.seekp(begin * sizeof(int));
	farray.write((char*)&auxEnd, sizeof(int));
	// escreve o valor de auxBegin na posição do auxEnd
	farray.seekp(end * sizeof(int));
	farray.write((char*)&auxBegin, sizeof(int));
}
//mostrar no ecra os valores inteiros do farray
farray.seekg(0);
int aux;
while(farray.read((char*)&aux, sizeof(int)));
cout << aux << ' ' << endl;
system("pause");
return 0;
}

na consola de output ele so me mostra o valor "0"....

ja tentei ccriar um tipo de base de dados de aniversarios

(usando o struct) e depois quando faço a pesquisa para saber quem é que eu tenho a fazer anos, nao mostra nada, so mostra se eu meter a data da ultima pessoa que eu inseri na base de dados...

Obrigado

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.