QFile - Row Count Problem
-
Hi guys
I have datas in txt file. I want to count how many rows are in the txt file.
data_num.txt
@
10 15,2
12,1 42
...
@@
...
QFile file("datas/data_num.txt");
...
QTextStream in(&file);
...
int rowSize;
while( !in.atEnd()){
rowSize++;
}
@When I debuged the program, I guess I got endless loop. Because my program is waiting something and It crash. Why doesn't the while loop stop?
-
[quote author="Andre" date="1364563689"]Because inside your loop, you are not doing any file reading. You should read a line per loop iteration.[/quote]
Okey. I changed the code but now I cant get the datas from txt. Because "in" locations is atEnd?
@ QString a;
while( !in.atEnd()){
a = in.readLine();
rowSize++;
}...
QString data1, data2;for(int i=0; !in.atEnd(); i++) {
in >> data1 >> data2;accTableColumn1[i] = data1.toDouble(); accTableColumn2[i] = data2.toDouble();}
@ -
Really? There is no way around that?
Note that reading the input file twice is much slower than iterating over an in-memory structure again to adapt some values...But if you insist: how about you simply move the position back to the beginning of the file after you have measured the number of rows? QIODevice::seek should be what you are looking for there.