Añadidos comprobantes en la lectura de stressUI.cfg

Signed-off-by: somebody_master <somebody_master@somebodyserver.mooo.com>
This commit is contained in:
Somebody Master 2020-10-26 13:20:43 +01:00
parent 322fe7c9b8
commit dcb05a4b0c
Signed by: somebody_master
GPG Key ID: 78315CFDF0B25505

View File

@ -7,12 +7,16 @@ Config cf::openConfig() {
if (file.is_open()) {
std::string line;
line = cf::getLine(&file);
int8_t nh = std::stoi(line);
std::string t = cf::getLine(&file);
Config config = Config(nh, t);
if (line == "") {
return Config(0, "");
}
int8_t numHilos = std::stoi(line);
std::string tiempo = cf::getLine(&file);
if (tiempo == "") {
return Config(0, "");
}
file.close();
// Config *ptr = &config;
return config;
return Config(numHilos, tiempo);
} else {
return Config(0, "");
}
@ -22,23 +26,33 @@ void cf::closeConfig(Config *config) { delete config; }
std::string cf::getLine(std::ifstream *file) {
std::string line;
std::getline(*file, line);
if (file->peek() != EOF) {
std::getline(*file, line);
if (line[0] == '#' || line == "") {
return cf::getLine(file);
// Mientras se leen las lineas se comprueban que no estén vacias
// o sean comentarios de manera que se devuelva el primera línea
// correcta. De esta manera se puede cambiar el documento añadiendo
// cuantos comentarios o líneas vacias se desee y dinámicamente se
// buscará la línea deseada.
if (line[0] == '#' || line == "") {
return cf::getLine(file);
}
line = line.substr(line.find("= ") + 1, line.length());
return line;
} else {
return "";
}
line = line.substr(line.find("= ") + 1, line.length());
return line;
}
void cf::saveConfig(Config *config) {
std::ofstream file(g_configFile);
file << "# Archivo autogenerado por Stress_UI\n";
file << "# No editar manualmente a no ser que se sepa lo que se hace\n";
file << "\n";
file << "Número de hilos\t\t= " << std::to_string(config->getNumHilos())
<< "\n";
file << "# Archivo autogenerado por Stress_UI" << std::endl;
file << "# No editar manualmente a no ser que se sepa lo que se hace";
file << std::endl << std::endl;
file << "Número de hilos\t\t= " << std::to_string(config->getNumHilos());
file << std::endl;
file << "Tiempo de ejecución\t= " << config->getTiempo();
// std::string str = "shit";
// file << str;