I am trying to print a file in reverse order. I am using arrays to save each lines data. So far I was able to print every line in a normal order.
index is the number of lines I am referring to and FuncIndex the same thing but has been declared again in the function.
file = fopen("../quotes.data","r");
while (NumOfField == 8) {
NumOfField = fscanf(file,"%d,%c,%d,%d,%c,%c,%lf,%lf", "e[index], &roomletter[index], &length[index], &width[index], &paint[index], &ceiling[index], &cost[index], &setup_cost[index]);
index++;
}
index--;
fclose(file);
In Function:
int FuncIndex;
for (FuncIndex = 0; FuncIndex <= index; FuncIndex++) {
printf("\n%5d %1c %3d %3d %1c %1c %8.2lf %6.2lf", quote[FuncIndex], roomletter[FuncIndex], length[FuncIndex], width[FuncIndex], paint[FuncIndex], ceiling[FuncIndex], cost[FuncIndex], setup_cost[FuncIndex]);
}
Now I tried changing the for loop to:
for (FuncIndex = index; FuncIndex >= 0; FuncIndex--) >
But the output prints empty. Although when I change the 0 to any number, that corresponding line gets printed.
The output That prints is:
Quote Room Length Width Paint Ceiling Cost Setup
===== ==== ====== ===== ===== ======= ======= =====
531 A 10 10 b n 96.00 100.00
531 B 15 15 b n 144.00 0.00
531 C 20 20 b n 192.00 0.00
I am looking to get this output reversed like:
Quote Room Length Width Paint Ceiling Cost Setup
===== ==== ====== ===== ===== ======= ======= =====
531 C 20 20 b n 192.00 0.00
531 B 15 15 b n 144.00 0.00
531 A 10 10 b n 96.00 100.00
Please excuse me if I putted the output in the code section because then the formatting would change
Thank you.
Ok here is the answer to my question:
the EOF was the trick
Basically, in here you are saying that whatever the number of index is (Number of Lines) put it in the FuncIndex and then one by one (from the highest number) check each line until its not the end of line anymore.