Difference between revisions of "Truxton file seek"
Jump to navigation
Jump to search
(→whence) |
|||
| Line 15: | Line 15: | ||
==<code>whence</code>== | ==<code>whence</code>== | ||
Where to seek from. | Where to seek from. | ||
| − | + | * <code>SEEK_SET</code> - 0 - the beginning of the file | |
| − | + | * <code>SEEK_CUR</code> - 1 - the current read offset | |
| − | + | * <code>SEEK_END</code> - 2 - the end of the file | |
These values mimic standard C library's [https://www.ibm.com/support/knowledgecenter/en/ssw_ibm_i_72/apis/lseek.htm lseek()] whence values. | These values mimic standard C library's [https://www.ibm.com/support/knowledgecenter/en/ssw_ibm_i_72/apis/lseek.htm lseek()] whence values. | ||
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 fileSEEK_CUR- 1 - the current read offsetSEEK_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, 0 );
int64_t read_position = truxton_file_tell(file);
truxton_file_close(file);
truxton_file_free(file);
if ( read_position == 42 )
{
return(1);
}
return(0)
}