从二进制文件中读取以空字符结尾的字符串。

3

我想从二进制文件中读取一个字符串(该字符串从固定偏移开始,并以空字符结尾)。

在Perl脚本中,我该如何实现呢?

1个回答

5
如果需要,使用seek将光标移到正确的位置,然后使用:
my $str;
{ local $/ = "\0"; $str = <$fh>; }
die "Premature EOF" if !defined($str) || $str !~ /\0\z/;
chop($str); 

不,sysread 应该保留给特殊情况(而且在读到空字符之前很难阅读)。 - ysth
哦,我错过了,我们不知道实际读取长度。那就是最简单的方法。 - Galimov Albert

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接