_tell、_telli64
获取文件指针点的位置。
long _tell(
int handle
);
__int64 _telli64(
int handle
);
参数
- handle
引用打开文件的描述符。
返回值
文件指针的当前位置。 在设备上不能查找,返回值是不确定的。
返回值 -1L 指示一个错误。 如果 handle 是无效的文件说明符,此函数调用无效参数处理程序,如 参数验证所述。 如果允许执行继续,则这些功能将 errno 设置为 EBADF,并返回 -1L.。
有关这个,其他和返回代码的更多信息,请参见 _doserrno, errno, _sys_errlist, and _sys_nerr。
备注
_tell 函数获取文件指针的当前位置 (如果有) 与 handle 参数。 视图传递,字节数开头文件。 对于 _telli64 函数,此值表示为一个 64 位整数。
要求
例程 |
必需的标头 |
---|---|
_tell, _telli64 |
<io.h> |
有关其他兼容性信息,请参见“简介”中的兼容性。
示例
// crt_tell.c
// This program uses _tell to tell the
// file pointer position after a file read.
//
#include <io.h>
#include <stdio.h>
#include <fcntl.h>
#include <share.h>
#include <string.h>
int main( void )
{
int fh;
char buffer[500];
if ( _sopen_s( &fh, "crt_tell.txt", _O_RDONLY, _SH_DENYNO, 0) )
{
char buff[50];
_strerror_s( buff, sizeof(buff), NULL );
printf( buff );
exit( -1 );
}
if( _read( fh, buffer, 500 ) > 0 )
printf( "Current file position is: %d\n", _tell( fh ) );
_close( fh );
}
Enter:crt_tell.txt
Line one.
Line two.
Output
Current file position is: 20