定义:
 

apr_status_t apr_file_seek  ( apr_file_t *  thefile,
apr_seek_where_t where,
apr_off_t * offset
)

Move the read/write file offset to a specified byte within a file.

Parameters

thefile

The file descriptor

where

How to move the pointer, one of:


offset

The offset to move the pointer to.

Remarks

The third argument is modified to be the offset the pointer was actually moved to.

根据定义,  当设置为APR_END  时, 文件指针指向文件尾,

测试文件内容为a.txt:TVVEVS1DTE9VRC1ITUFDLVN, 总共为24位


执行 apr_file_seek(file, APR_END, &offset)

日志打印为:

================license_data f_size=23

这边注意的是a.txt 中除了这24个字符之外没有其他任何字符, 因此可以确定,当光标在文件头时,offset 为0, 当光标为APR_END 时,指向的其实是文件的最后一个字符,如果这个文件中只有纯字符,没有LF(换行键), 那么通过apr_file_seek(file, APR_END, &offset) 拿到的这个文件长度其实是比实际文件长度小1的。