void ClubLectura::cargarLectores(string archivoLectores) { string rutaFichero(archivoLectores); string lineaActual; pair<string, Lector> pairLector; pair<map<string, Lector>::iterator, bool> encontrado; list<string> repetidos; std::ifstream inputStream; Libro* libro; inputStream.exceptions(std::ifstream::failbit | std::istream::badbit); inputStream.open(rutaFichero); int num = 1; try { while (!inputStream.eof()) { //Parseamos la linea getline(inputStream, lineaActual); auto pos = lineaActual.find('|'); auto alias = lineaActual.substr(0, pos); Lector lector(alias); auto puntuaciones = lineaActual.substr(pos + 1, lineaActual.length()); pos = puntuaciones.find_first_of('-'); bool fin; if (pos < puntuaciones.length()) fin = false; else fin = true; while (!fin) { auto id = puntuaciones.substr(0, pos); auto mid = atoi(id.c_str()); auto puntos = puntuaciones.substr(pos + 2, 1); int mpuntos = atoi(puntos.c_str()); libro = buscarLibro(mid); if (libro) { lector.nuevaValoracion(libro, mpuntos); } if (pos + 4 < puntuaciones.length()) { puntuaciones = puntuaciones.substr(pos + 4, puntuaciones.length()); pos = puntuaciones.find_first_of('-'); } else { fin = true; } } pairLector.first = alias; pairLector.second = lector; encontrado = lectores2.insert(pairLector); if (!encontrado.second) repetidos.push_back(alias); } } catch (std::ifstream::failure& error) { cout << "Fin de la lectura de los lectores." << endl; } inputStream.close(); }
bool ImageFile::readImageContents() { if (this->open(QIODevice::ReadOnly)){ QTextStream lector(this); int i=0; while (!lector.atEnd()) { lectura.insert(i, lector.readLine()); i++; } return true; } return false; }
mapa::mapa(QString ubicacionArchivo){ QFile archivo(ubicacionArchivo); if(archivo.open(QIODevice::ReadOnly | QIODevice::Text)){ QTextStream in(&archivo); qDebug("abrio archivo"); QString texto; texto.append(in.readAll()); archivo.flush(); archivo.close(); QXmlStreamReader lector(texto); while(!lector.atEnd() && !lector.hasError()){ if(lector.isStartElement()){ QString tipo=lector.name().toString(); if(tipo=="numConceptos"){ numConceptos=lector.readElementText().toInt(); } else if(tipo=="concepto"){ concepto c; bool conceptoTerminado=false; while(!conceptoTerminado && !lector.hasError()){ if(lector.isStartElement()){ QString atributo=lector.name().toString(); if(atributo=="texto"){ c.textConcepto=lector.readElementText().toStdString(); } else if(atributo=="posX"){ c.posX=lector.readElementText().toInt(); } else if(atributo=="posY"){ c.posY=lector.readElementText().toInt(); } else if(atributo=="numConcepto"){ c.numConcepto=lector.readElementText().toInt(); conceptoTerminado=true; this->cargarConcepto(c); } } lector.readNext(); } } else if(tipo=="pareja"){ qDebug()<<"inicio pareja"; int c1; int c2; bool parejaTerminada=false; while(!parejaTerminada && !lector.hasError()){ if(lector.isStartElement()){ QString atributo=lector.name().toString(); if(atributo=="par1"){ c1=lector.readElementText().toInt(); } else if(atributo=="par2"){ c2=lector.readElementText().toInt(); parejaTerminada=true; this->agregarUnion(c1,c2); } } lector.readNext(); } } } lector.readNext(); } Error=false; } else{ Error=true; } }