Linux プラットフォーム (Ubuntu) と QT4.7.4 を使用しています。
まず、vi を使用してテスト ファイル「test.txt」を作成し、その中に「1234567890」と 100000 行を書き込むだけで、
次に、以下のコードをコンパイルして実行し、監督して、無限ループに入ります。
それについてのアイデアはありますか?ありがとう!
int main(int argc, char *argv[])
{
QCoreApplication app(argc, argv);
QString str;
QFile file("./test.txt");
if ( file.open(QIODevice::ReadOnly | QIODevice::Text) ) {
QTextStream ts( &file );
while(!ts.atEnd()) {
str = ts.read(10240);
qDebug()<<"s:"<<ts.status()<<":"<<ts.atEnd()<<":"<<str.count()<<":"<<ts.pos();
}
}
return app.exec();
}
ここにqdebugの出力があります:
s: 0 : false : 10240 : 10240
s: 0 : false : 10240 : 20480
s: 0 : false : 10240 : 51200
s: 0 : false : 10240 : 112640
s: 0 : false : 10240 : 235520
s: 0 : false : 10240 : 481280
s: 0 : false : 10240 : 972800
s: 0 : false : 10240 : -1
s: 0 : false : 10240 : -1
s: 0 : false : 10240 : -1
s: 0 : false : 10240 : -1
s: 0 : false : 10240 : -1
s: 0 : false : 10240 : -1
s: 0 : false : 10240 : -1
....
ここにtest.txtに関するいくつかの情報があります
$du -sh test.txt
1.1M test.txt
$wc -c test.txt
1100011 test.txt
$du -S test.txt
1076 test.txt