Ir para conteúdo
Fórum Script Brasil

MuriloTx

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

Sobre MuriloTx

MuriloTx's Achievements

0

Reputação

  1. Bom dia. Estou tentando fazer uma leitura de structs que eu inseri em um arquivo binário, mas está dando erro na hora da leitura. Segue o código da função de leitura: void lerRegistros(char* file_name) { ifstream entrada; entrada.open(file_name, ios::binary); if ( entrada ) { entrada.seekg(0, entrada.end); int tam = entrada.tellg(); entrada.seekg(0, entrada.beg); int numero_registros = tam / sizeof(registro); registro* vetor_registros = new registro[numero_registros]; for (int i = 0; i < numero_registros; i++) { entrada.read((char*)(&vetor_registros[i]), sizeof(registro)); } entrada.close(); for ( int i = 0; i < numero_registros; ++i ) { cout << "Nome da banda: " << vetor_registros[i].nome << endl; cout << "Numero de integrantes: " << vetor_registros[i].numero_integrantes << endl; cout << "Estilo: " << vetor_registros[i].estilo << endl; cout << "Ano de criacao: " << vetor_registros[i].ano_criacao << endl; cout << "Melhor hit: " << vetor_registros[i].musica_famosa << endl; cout << endl; } vetor_registros = NULL; delete[] vetor_registros; } else { cout << "Erro na leitura do arquivo!"; } return; } No programa, eu peço o nome do arquivo para ler os registros e passo esse nome para a função de leitura. O mais estranho é que se eu rodar o programa sem fechar ele, a leitura é feita normalmente após cada inserção de um novo registro. Mas se eu fechar o programa e abrir ele de novo, e tentar ler do mesmo arquivo que já foi criado aí dá erro na leitura e o programa fecha na hora. Se alguém souber o que pode ser, eu agradeço.
×
×
  • Criar Novo...