【发布时间】:2012-09-15 13:42:58
【问题描述】:
我想知道 fread 函数如何在文件中移动文件指针。
让我们考虑以下场景:
<?php
$file=fopen(binary.txt,rb);
fread($file,0x594);
function(fread($file,0x1a8), ....); // some function w/ first argument as fread O/P
?>
代码简要概述:
它将以只读模式打开一个二进制文件。我想知道我的理解是否正确:
- 第一次调用 fread 函数会将 文件指针 移动到位置 0x594。
由于二进制文件中第一个字节的位置被认为是0,而fread函数读取的是0x594字节,那么文件指针的新位置会是什么?
0x593 还是 0x594?
- 第二个 fread 函数将从前一个文件指针位置开始读取。那么,每次调用 fread 函数时,文件指针的位置都会被保留?
这意味着,在一系列 fread 函数调用中,每个 fread 函数从前一个 fread 函数设置的文件指针位置开始读取字节?
在这种情况下,它将开始从位置 0x594 到 (0x594+0x1a8) 或 0x73c 读取字节?
谢谢。
【问题讨论】: