Buenos dias. El poblema es el siguiente:
Tengo un programa en donde debo convertir dos archivos de texto y debo convertirlos cada uno a formato binario pero, me crea uno solo y al ejecutarlo por segunda vez varia de tamaño y el segundo no me lo crea o lo crea vacio. El profesor de la asignatura me suministro los archivos de texto. Mi duda es: ¿Como logro pasar los datos que se encuentran en dicho archivo de texto a binario?...¿Debo crear alguna estructura, con unas variables que me recuperen los datos del archivo de texto?...ayudenme, por favor!!!!!!!
#include<fstream.h>
#include<iostream.h>
#include<conio.h>
main()
{
ifstream h("respaldo.txt", ios::in);
ifstream m("transacciones.txt", ios::in);
char tipot[1], marca[25];
int codigo, nreg=0, precio, cantidad;
if(h.fail()==1||m.fail()==1)
{
cerr<<"\nError en la recuperacion de los archivos"<<endl;
getch();
return 1;
}
else
{
ofstream f("respaldo.bin", ios::out | ios::binary);
ofstream n("transacciones.bin", ios::out| ios::binary);
if(f.fail()==1||n.fail()==1)
{
cerr<<"\n No se pudo convertir el archivo";
return 1;
}
else
{
h>>codigo;
//h>>tipot;
while(h.eof()!=1)
{
// f<<tipot<<" ";
//h>>codigo;
//f<<codigo<<" ";
h>>marca;
f<<marca<<" ";
h>>precio;
f<<precio<<" ";
h>>cantidad;
f<<cantidad<<endl;
//h>>tipot;
h>>codigo;
}
//m<<tipot<<" ";
h.seekg(0, ios::end);
nreg=h.tellg()/sizeof(f);
h.seekg(0, ios::beg);
}
f.close();
m>>tipot;
while(m.eof())
{
m>>codigo;
n<<codigo<<" ";
m>>marca;
n<<marca<<" ";
m>>precio;
n<<precio<<" ";
m>>cantidad;
n<<cantidad<<endl;
m>>tipot;
}
m.seekg(0, ios::end);
nreg=m.tellg()/sizeof(n);
m.seekg(0, ios::beg);
}
// f.close();
m.close();
h.close();
//n.close();
cout<<"Los archivos se han convertido con exito"<<endl;
getch();
return 0;
}