buenas a todos !!
tengo una dudad estoy haciendo un app que guarda un estructura en un archivo (los datos) bien , la aplicacion toma los datos desde la consola luego los concatena con los que estan en el fichero ahora quiero tambien leer desde la estructura y me resulta medio dificil posteo el codidgo para ver si alguien me puede dar una mano por favor.
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
struct prueba{
int r;
};
void escribir(struct prueba t){
fstream salida("test.b" , ios::out|ios::binary|ios::app|ios::ate);
salida.write(reinterpret_cast<char *>(&t), sizeof(prueba));
cout <<"Registro Escrito Exitosamente."<<endl;
salida.close();
}
int main()
{
prueba re;
re.r =1;
escribir(re);
re.r =2;
escribir(re);
re.r =3;
escribir(re);
re.r =4;
escribir(re);
re.r =1;
escribir(re);
re.r =1;
escribir(re);
int l;
cout <<"\n pulse la tecla de enter"<<endl;
cin.get();
fstream entrada("test.b", ios::in|ios::binary);
entrada.seekg(0,entrada.end);
l = entrada.tellg();
int cnd = l/sizeof(prueba);
entrada.seekg(0,entrada.beg);
cout <<"la longitud del fichero es : "<< cnd;
cin.get();
vector<prueba> pr;
prueba obj;
for(int f= 1; f < cnd; f++)
{
entrada.read(reinterpret_cast<char*>(&obj), sizeof(prueba));
pr.push_back(obj);
entrada.seekg(cnd*f, entrada.cur);
}
entrada.close();
for(int g=0;g< pr.size(); g++)
cout << "value : "<< pr.at(g).r<<endl;
cin.get();
cin.get();
return 0;
}
me gustaria que alguien explique por lo menos como puedo desplazar seekg() por que lo he intentao varias veces de diferente modos y me da tamanos waoo ...y he buscado por internet pero no he encotrado nada que comprenda.. :'(
Gracias Y disculpen la molestia.