Chinaunix
标题:
关于read函数
[打印本页]
作者:
xuexi11
时间:
2005-05-23 10:46
标题:
关于read函数
文件内容:
程序
$line=<FILE>;;print$line,"\n" ;
seek(FILE,0,0);
read(FILE,$seq,5,0); print $seq,"\n";
read(FILE,$seq,5,3); print $seq,"\n";
read(FILE,$seq,5,-3); print $seq,"\n";
结果:
0123456789abcdefgh
01234
01256789
01256abcde
我认为应该是
0123456789abcdefgh
01234 (前5个)
89abc (跳过3个,读5个)
abcdef (倒退3个,读5个)
我用的winxp,怎么才能得到后面的结果?
多谢
作者:
Osment
时间:
2005-05-23 22:18
标题:
关于read函数
read 的第四个参数在非Unix平台下好象是不起作用的。。
作者:
luo1110
时间:
2005-05-24 11:21
标题:
关于read函数
我现在Linux和Winxp下运行的结果和贴主的结果完全一样!
0123456789abcdefgh
01234
01256789
01256abcde
学无止境啊!
作者:
luo1110
时间:
2005-05-24 12:01
标题:
关于read函数
我知道了。
read
Syntax
Category list operator (i/o)
Arguments handle, variable, length, offset
Arguments handle, variable, length
Return Value 1 (true) '' (false)
Definition
Reads length bytes from file handle into variable (starting at offset if specified). It returns the number of bytes actually read.
你们看以下程序的运行结果
open(FILE,"< test.txt"
|| die("error"
;
$line=<FILE>;;print$line,"\n" ;
seek(FILE,0,0);
#read(FILE,$seq,5); print $seq,"\n";
#read(FILE,$seq,5); print $seq,"\n";
read(FILE,$seq1,5,0); print $seq1,"\n";
read(FILE,$seq2,5,3); print $seq2,"\n";
read(FILE,$seq2,5,-3); print $seq2,"\n";
read(FILE,$seq3,5,-3); print $seq3,"\n";
close(FILE);
#0123456789abcdefgh
结果为
0123456789abcdefgh
01234
56789
56abcde
Offset outside string at 2.pl line 11,<FILE>; line 1.
看来第四个参数的offset意思很特别哦!
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2