Russian Qt Forum

Qt => Общие вопросы => Тема начата: BaltikS от Ноябрь 07, 2005, 12:57



Название: Считать из текстового файла...
Отправлено: BaltikS от Ноябрь 07, 2005, 12:57
Доброго всем дня.. хорошего времени суток!
Вопрос собственно заключается в следующем:
Я построчно считываю из текстового файла так
Код:
QStringList lines;
    QFile file( "file.txt" );
    if ( file.open( IO_ReadOnly ) ) {
        QTextStream stream( &file );
        QString line;
        int i = 1;
        while ( !stream.atEnd() ) {
            line = stream.readLine(); // line of text excluding '\n'
            printf( "%3d: %s\n", i++, line.latin1() );
            lines += line;
        }
        file.close();
    }
   
как сказано в справке....
Но при маленьком файле - всё работает идеально...
Но при текстовом файле объёмом около и более Мб программа виснет.
Как быть?
Использую QT 3.3.5 под Windows


Название: Считать из текстового файла...
Отправлено: C.H. от Ноябрь 07, 2005, 14:27
Странно у меня в QT4 под форточки с твоим кодом работает за милую душу, может глюк в Ку3?

Код подправил немного:
Код:

#include <QtGui>

int main( int argc, char **argv )
{
QStringList lines;
    QFile file( "file.txt" );
    if ( file.open( QFile::ReadOnly ) ) {
        QTextStream stream( &file );
        QString line;
        int i = 1;
        while ( !stream.atEnd() ) {
            line = stream.readLine(); // line of text excluding '\n'
            qDebug() << i++ << line;
            lines += line;
        }
        file.close();
    }
return 0;
}


Название: Re: Считать из текстового файла...
Отправлено: Alikus от Апрель 03, 2006, 23:40
Цитата: "BaltikS"
Но при маленьком файле - всё работает идеально...
Но при текстовом файле объёмом около и более Мб программа виснет.
Как быть?
Использую QT 3.3.5 под Windows


У меня 3.3.3. Этот же код недавно (сам использовал) работал как по маслу :)