Используйте QFile :: readAll, передайте его в конструктор QString, разделите его на QStringList, проведите через него с помощью функции toInt.
Отредактировано в соответствии с вашими задачами, это простое приложение для консольного тестирования (я бы предположил, что строка с номером 2
является ошибкой, и каждая строка должна содержать как минимум два номера).
main.cpp:
QFile f("file.txt");
f.open(QIODevice::ReadOnly);
foreach (QString i,QString(f.readAll()).split(QRegExp("[\r\n]"),QString::SkipEmptyParts)){
QPoint pos;
pos.setX(i.section(",",0,0).toInt());
pos.setY(i.section(",",1,1).toInt());
// draw something here, pos holds your coords in x as first valur and in y second (pos.x(), pos.y())
qDebug()<<pos;
}
f.close();
ваши Coords проведут QPoint поз, она будет иметь одну строки за один координаты времени, так что вы можете рисовать точки или делать все, что вы хотите с ними. file.txt
должен быть в директории с двоичным файлом или вы можете изменить его по своему усмотрению.
'std :: ifstream' является хорошей отправной точкой. –
Что именно вы хотите, чтобы результаты выглядели? Вы просто хотите получить массив ints? Массив строк, каждый из которых является массивом ints? Или что? – abarnert
Кроме того, у вас действительно есть строки с разным количеством значений, или это '2' само по себе является ошибкой? Если ваши данные являются CSV, существует множество [CSV-решений для Qt] ((http://qt-project.org/search/tag/csv))) уже построены, но это может вам не помочь. – abarnert