一个字符指针定位的有关问题,请问上各位

WBOY
Release: 2016-06-13 12:55:15
Original
926 people have browsed it

一个字符指针定位的问题,请教下各位。

<?php											<br />
	$handle=fopen ("many.txt","r");				<br />
		//首先读取第1行,读取完毕后,指针在最后一行<br />
	$buffer=fgets($handle,1024);					//读取第1行内容<br />
	echo $buffer ."<br>";							<br />
	//接着将指针向后移动5个字节<br />
	echo ftell($handle)."<br>";<br />
	fseek($handle,6,seek_cup);						//指针向后移动6个字节<br />
		//接着读取一行<br />
	$buffer=fgets($handle,1024);					//接着读取第1行内容<br />
	echo $buffer . "<br>";						<br />
		//将指针返回到到文件开始,重新读取第1行,因为是绝对位置为0<br />
	fseek($handle,0);								<br />
		//读取一行数据,因为指针回到文件开始,所以会读取第1行数据<br />
	$buffer=fgets($handle,1024);					//再读取第1行文字<br />
	echo $buffer ."<br>";							//输出读取内容<br />
	fclose ($handle);								//关闭打开文件<br />
?>						
Copy after login


程序中第一次按行读取文件之后,文件指针应该是在第一行的末尾。如果再往后移动指针应该指针是在第二行了,为什么程序结果显示的是文件指针移动到了第一行的第7个位置,相当于从头开始移动指针的。但是函数参数明明是从当前的位置往后移动6个位置啊。

这里附上many.txt 第二行我随便打的,因为程序结果只用到了第一行。
姓名:张三 年龄15 性别:男<br />
llllllllllllllllllllllllllll
Copy after login

buffer fseek
------解决方案--------------------
SEEK_CUR
而且应该大写
------解决方案--------------------
是 SEEK_CUR 
而不是 seek_cup

seek_cup 在屏蔽错误的情况下只能是 0
也就是 SEEK_SET 了
Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template