Ver Mensaje Individual
  #1  
Antiguo 05-02-2008
romanuel romanuel is offline
Miembro
 
Registrado: feb 2008
Posts: 15
Reputación: 0
romanuel Va por buen camino
Duda urgente con ficheros c++

No se porke despues de supuestamente salvar no me carga nada de el fichero anteriormente salvado... please alguna sugerencia

OJO "dic" es un map de la STL

map<AnsiString, Ansistring> dic

void Diccionario::Salvar(AnsiString n)
{
AnsiString *d;
int total=dic.size()*2;
d=new AnsiString[total];
map<AnsiString, AnsiString>::iterator iter=dic.begin();
int pos=0;

while(iter!=dic.end())
{
d[pos]=(*iter).first;
d[pos+1]=(*iter).second;
iter++;
pos+=2;
}

FILE*file=fopen(n.c_str(),"w+");
if(file!=NULL)
{
fwrite(&total,sizeof(int),1,file);
fwrite(d,sizeof(d),total,file);
}
fclose(file);
}
void Diccionario::Cargar(AnsiString n)
{
dic.clear();
AnsiString *d;
int total;
FILE*file=fopen(n.c_str(),"r+");
if(file!=NULL)
{
fread(&total,sizeof(int),1,file);
d=new AnsiString[total];
fread(d,sizeof(AnsiString),total,file);
for(int i=0; i<total; i+=2)
{
pair<AnsiString, AnsiString> p(d[i],d[i+1]);
dic.insert(p);
}
}
fclose(file);
}
Responder Con Cita