Difference between revisions of "Truxton file seek"

From truxwiki.com
Jump to navigation Jump to search
Line 35: Line 35:
 
   }
 
   }
  
   truxton_file_seek(file, 42, SEEK_SET );
+
   truxton_file_seek(file, 42, SEEK_SET);
  
 
   int64_t read_position = truxton_file_tell(file);
 
   int64_t read_position = truxton_file_tell(file);

Revision as of 11:18, 3 November 2020

This allows you to alter the offset into the opened file where the next read will take place.

Syntax

int64_t truxton_file_seek( uint64_t file_handle, int64_t distance, int whence );

Parameters

file_handle

The handle created by the truxton_file_open_id or truxton_file_open_md5 call.

distance

The number of bytes to move from whence

whence

Where to seek from.

  • SEEK_SET - 0 - the beginning of the file
  • SEEK_CUR - 1 - the current read offset
  • SEEK_END - 2 - the end of the file

These values mimic standard C library's lseek() whence values.

Return value

The offset into the file where the next byte will be read from.

Sample

int does_file_have_deep_philosophical_meaning(uint64_t truxton)
{
   uint64_t file = truxton_file_open_id(truxton, "5ed3aeb7-3da4-5f5c-8c8f-af5200000000");

   if ( file != 0 )
   {
      return(0);
   }

   truxton_file_seek(file, 42, SEEK_SET);

   int64_t read_position = truxton_file_tell(file);

   truxton_file_close(file);
   truxton_file_free(file);

   if ( read_position == 42 )
   {
      return(1);
   }

   return(0)
}