0

Hello,

I have a file where the data layout is known. Suppose it's like this:
image1
SomeData
...
image1000
SomeData
...

I want to get an access to the line I want without the necessity to move across all the lines. Let's say I wanna access directly to the line "image627", is that possible?

void ReadFile( const char* file, uint32 image )
{
   char line[255], temp [64];
   while (fgets(line, sizeof line, file) != NULL) // read the file line by line
   {
     sprintf(temp, "image%u", image);
     if ( (strncmp(line, temp, 6) == 0) || (strncmp(line, temp, 7) == 0) || (strncmp(line, temp, 8) == 0) )
     {
       // do something
     }
   }
}

Thank you!

3
Contributors
4
Replies
7
Views
6 Years
Discussion Span
Last Post by miskeen
0

Only if each and every line is exactly the the same length. If they aren't, you have no way of knowing where any line starts.

0

If you're talking about the whole file, I say no. The lines do not have the same length.

But I have a repetition. The layout is:
line1: imageX -> it can be image0 until image 9999
line2: data: the length is not know

Thanks.

0

Seems to me you should be storing the data in a random access binary file. That way you could seek to the record you want. Or arrange the data in memory in such a structure after reading in the text file and then access it randomly by index or something.

This question has already been answered. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.