Olá, pessoal do GUJ!
Estava mexendo com arquivos em C++, e me deparei com o seguinte problema:
Criei um template para manipular Listas. A classe se chama List.h.
Beleza, fui lá eu gravar uma lista de Clientes, por exemplo, num arquivo binário.
Fiz dessa maneira:
ofstream ofs;
if (!ofs.is_open())
ofs.open("meuarquivo.bin", ios_base::in | ios_base::binary);
ofs.write((unsigned char *)&clientes, sizeof(List<Cliente>));
ofs.flush();
ofs.close();
Ao que tudo indica, está gravando, certinho.
O problema é na hora da leitura:
ifstream ifs;
List<Cliente> clientes;
if (!ifs.is_open())
ifs.open("meuarquivo.bin", ios_base::out | ios_base::binary | ios_base::app);
ifs.read((unsigned char *)&clientes, sizeof(List<Cliente>));
ifs.flush();
ifs.close();
return clientes;
Não lê nada! :S
Alguma idéia do que possa ser?
Desde já, grato pela ajuda!
[]'s