int HashingExtensible::crear_archivo(std::string nombreArchivo) { if (abrir_archivo(nombreArchivo) == RES_OK) { cerrar_archivo(); return RES_FILE_EXISTS; } int resultado = this->manejador_bloques->crear_archivo(fileName+".dat", 1024);//tamanio anterior TAM_DEFAULT if (resultado != RES_OK) return resultado; resultado = this->manejador_bloques->abrir_archivo(fileName+".dat", "rb+"); //Creamos la tabla resultado += this->tabla->crear(fileNameTabla); this->tabla->cambiar_valor(0, 0); // la pos 0 de la tabla se le coloca el num de bloque 0 //Creamos un nuevo bloque con dispersion 1 y lo guardamos en el archivo de bloques del Hash Bloque* bloqueNuevo = this->manejador_bloques->crear_bloque(); if (bloqueNuevo == NULL) { manejador_bloques->cerrar_archivo(); return RES_ERROR; } this->_crear_bloque(1, &bloqueNuevo); int res = this->manejador_bloques->escribir_bloque(bloqueNuevo);//Va a estar en la posicion 0 delete (bloqueNuevo); this->manejador_bloques->cerrar_archivo(); if (res != 0) return RES_ERROR; this->cant_bloques = 1; return resultado; }
void read_vertices ( const char * nombre_archivo_pse, vector<float> & vertices ) { unsigned num_vertices = 0, num_caras = 0 ; ifstream src ; string na = nombre_archivo_pse ; if ( na.substr( na.find_last_of(".")+1 ) != "ply" ) na += ".ply" ; abrir_archivo( na, src ) ; leer_cabecera( src, num_vertices, num_caras, false ) ; leer_vertices( num_vertices, vertices, src ) ; cout << "archivo ply leido (únicamente vértices)" << endl << flush ; }