D
dfelikson
I have a simple piece of code that ftell's me the position after
reading the first line of a file, then reads two more lines, then
fseek's back to the position, and reads the next line. What I want it
to do is read the second line of the file, however, for some reason,
it grabs the third line. I get similar results with fgetpos and
fsetpos.
Is there something simple I'm missing here? My code is below:
/
******************************************************************************************************
// Scan first line
j = fscanf( SA_file, "\"%4d/%2d/%2d %2d:%2d:%2d.%3d\"\t%f\t%f\t%f\n",
&file_yr, &file_mon, &file_day, &file_hr, &file_min, &file_sec,
&file_msec, &range, &az, &el );
printf("%d %f\n",file_sec,el);
// Get position
//fgetpos( SA_file, &pos );
position = ftell( SA_file );
// Scan 2 more lines
j = fscanf( SA_file, "\"%4d/%2d/%2d %2d:%2d:%2d.%3d\"\t%f\t%f\t%f\n",
&file_yr, &file_mon, &file_day, &file_hr, &file_min, &file_sec,
&file_msec, &range, &az, &el );
printf("%d %f\n",file_sec,el);
j = fscanf( SA_file, "\"%4d/%2d/%2d %2d:%2d:%2d.%3d\"\t%f\t%f\t%f\n",
&file_yr, &file_mon, &file_day, &file_hr, &file_min, &file_sec,
&file_msec, &range, &az, &el );
printf("%d %f\n",file_sec,el);
// Go to position
//fsetpos( SA_file, &pos );
fseek( SA_file, position, SEEK_SET );
// Scan second line
j = fscanf( SA_file, "\"%4d/%2d/%2d %2d:%2d:%2d.%3d\"\t%f\t%f\t%f",
&file_yr, &file_mon, &file_day, &file_hr, &file_min, &file_sec,
&file_msec, &range, &az, &el );
printf("%d %f\n",file_sec,el);
/
******************************************************************************************************
Thanks!
reading the first line of a file, then reads two more lines, then
fseek's back to the position, and reads the next line. What I want it
to do is read the second line of the file, however, for some reason,
it grabs the third line. I get similar results with fgetpos and
fsetpos.
Is there something simple I'm missing here? My code is below:
/
******************************************************************************************************
// Scan first line
j = fscanf( SA_file, "\"%4d/%2d/%2d %2d:%2d:%2d.%3d\"\t%f\t%f\t%f\n",
&file_yr, &file_mon, &file_day, &file_hr, &file_min, &file_sec,
&file_msec, &range, &az, &el );
printf("%d %f\n",file_sec,el);
// Get position
//fgetpos( SA_file, &pos );
position = ftell( SA_file );
// Scan 2 more lines
j = fscanf( SA_file, "\"%4d/%2d/%2d %2d:%2d:%2d.%3d\"\t%f\t%f\t%f\n",
&file_yr, &file_mon, &file_day, &file_hr, &file_min, &file_sec,
&file_msec, &range, &az, &el );
printf("%d %f\n",file_sec,el);
j = fscanf( SA_file, "\"%4d/%2d/%2d %2d:%2d:%2d.%3d\"\t%f\t%f\t%f\n",
&file_yr, &file_mon, &file_day, &file_hr, &file_min, &file_sec,
&file_msec, &range, &az, &el );
printf("%d %f\n",file_sec,el);
// Go to position
//fsetpos( SA_file, &pos );
fseek( SA_file, position, SEEK_SET );
// Scan second line
j = fscanf( SA_file, "\"%4d/%2d/%2d %2d:%2d:%2d.%3d\"\t%f\t%f\t%f",
&file_yr, &file_mon, &file_day, &file_hr, &file_min, &file_sec,
&file_msec, &range, &az, &el );
printf("%d %f\n",file_sec,el);
/
******************************************************************************************************
Thanks!