Ir para conteúdo
Fórum Script Brasil

MuriloTx

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

Tudo que MuriloTx postou

  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...