微软的_tell函数实现
Wentao Sun. Autodesk, Inc. (Shanghai, China.)
微软的_tell函数可以根据handle (int)返回当前文件操作指针的位置。
在Linux和Mac OS X上没有类似的函数,其实其内部实现也不是特别的复杂。
PS:
Linux和Mac OS X上的类似概念为ftell,但是其传入的第一个参数为FILE*,这里为int.
/*
**
*tell.c - find file position
*
* Copyright (c) Microsoft Corporation. All rights reserved.
*
*Purpose:
* contains _tell() - find file position
*
****************************************************************************** */
#include < cruntime.h >
#include < io.h >
/* **
*long _tell(filedes) - find file position
*
*Purpose:
* Gets the current position of the file pointer (no adjustment
* for buffering).
*
*Entry:
* int filedes - file handle of file
*
*Exit:
* returns file position or -1L (sets errno) if bad file descriptor or
* pipe
*
*Exceptions:
*
****************************************************************************** */
long __cdecl _tell (
int filedes
)
{
return (_lseek(filedes, 0L , 1 ));
}
*tell.c - find file position
*
* Copyright (c) Microsoft Corporation. All rights reserved.
*
*Purpose:
* contains _tell() - find file position
*
****************************************************************************** */
#include < cruntime.h >
#include < io.h >
/* **
*long _tell(filedes) - find file position
*
*Purpose:
* Gets the current position of the file pointer (no adjustment
* for buffering).
*
*Entry:
* int filedes - file handle of file
*
*Exit:
* returns file position or -1L (sets errno) if bad file descriptor or
* pipe
*
*Exceptions:
*
****************************************************************************** */
long __cdecl _tell (
int filedes
)
{
return (_lseek(filedes, 0L , 1 ));
}