首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > perl python >

怎么用perl给一个二进制文件加‘000A’

2012-06-14 
如何用perl给一个二进制文件加‘000A’有个二进制文件,没有换行符,我想每隔100个字符,加上000A换行标记ope

如何用perl给一个二进制文件加‘000A’
有个二进制文件,没有换行符,我想每隔100个字符,加上'000A'换行标记

open (FDAT,$ARGV[0]) || die "error opening $ARGV[0]\n";

while (read(FDAT,$_,$totlen)) {

  ################## fill in the %s hash
  $_=$_.'000A';
  ################ printout the %s hash;

  print $_;

}

可是这样执行,文件没有变化。

[解决办法]
事情肯定能做,但还要考虑是否有意义!换行本身是属于文本文件的,也就是说文本文件才有换行的概念,二进制为什么要添加这个字符呢?

无论怎样,你可以读出来100个字节在加上换行,再写入文件。该操作不能在文件原地操作,可以先写一个新文件,在存为源文件名。

在perl中你需要pack和unpack来处理二进制。
[解决办法]
你根本就没写文件的操作。有变化就怪了。

热点排行