Tengo una vista de tabla con tres columnas; acabo de pasar a escribir en un archivo de texto con el códigoQt - leyendo de un archivo de texto
QFile file("/home/hamad/lesson11.txt");
if(!file.open(QIODevice::WriteOnly)) {
QMessageBox::information(0,"error",file.errorString());
}
QString dd;
for(int row=0; row < model->rowCount(); row++) {
dd = model->item(row,0)->text() + ","
+ model->item(row,1)->text() + ","
+ model->item(row,2)->text();
QTextStream out(&file);
out << dd << endl;
}
Pero no voy a tener éxito a leer el mismo archivo de nuevo, probé este código, pero no sé dónde está el problema en que
QFile file("/home/hamad/lesson11.txt");
QTextStream in(&file);
QString line = in.readLine();
while(!in.atEnd()) {
QStringList fields = line.split(",");
model->appendRow(fields);
}
¿Alguna ayuda por favor?
Cómo se abre el archivo de nuevo como lo hizo la primera vez? Creo que ese podría ser tu problema. –
No pude abrir el archivo desde Qt; pero estoy seguro de que la función de escritura está funcionando perfectamente al abrir el archivo txt usando geedit. Alguna ayuda ?? – user289175
mosg tiene un buen punto anterior, pero mi pregunta era ¿por qué no llamas a file.open nuevamente antes de intentar leer tu archivo? Lo haces antes de escribirlo, entonces ¿por qué no deberías hacerlo antes de leerlo? Tu código en la publicación no hace eso. –