Russian Qt Forum
Ноябрь 26, 2024, 10:32 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Чтение из файла  (Прочитано 2595 раз)
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 строчек. Заранее спасиб
))
« Последнее редактирование: Октябрь 08, 2009, 00:01 от pastor » Записан
BRE
Гость
« Ответ #1 : Октябрь 07, 2009, 22:58 »

Ты проверяешь конец для файла, а чтение строки производишь из потока.
Определись, либо читать из файла (file_com->readLine) и проверять на конец (file_com->atEnd), либо читать из потока (com) и проверять завершение потока (com->atEnd).
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.11 секунд. Запросов: 21.