Russian Qt Forum

Qt => Общие вопросы => Тема начата: akaMDA от Октябрь 07, 2009, 22:34



Название: Чтение из файла
Отправлено: akaMDA от Октябрь 07, 2009, 22:34
помогите разобраться, почему считывается только 1 строка!

Код
C++ (Qt)
QHash <QString, QHostAddress> hash;
QFile *file_com=new QFile("com.txt");
file_com->open(QIODevice::ReadOnly);
QTextStream *com=new QTextStream(file_com);
QStringList lt;
QString s;
QString st;
while(!file_com->atEnd())
{
st=com->readLine();
lt=st.split('_');
s=lt.takeFirst();
QHostAddress ad(lt.takeFirst());
hash.insert(s, ad);
out<<hash[\s].toString()<<endl;
}

по идее должна считывать  все строки типа QString _QHostAddress но считывает только первую, а далле проверяет условия цикла и оно оказывается FALSE хотя есть еще как минимум 10 строчек. Заранее спасиб
))


Название: Re: Чтение из файла
Отправлено: BRE от Октябрь 07, 2009, 22:58
Ты проверяешь конец для файла, а чтение строки производишь из потока.
Определись, либо читать из файла (file_com->readLine) и проверять на конец (file_com->atEnd), либо читать из потока (com) и проверять завершение потока (com->atEnd).