请各位帮忙,这个二进制文件如何进行读写操作?[已解决]
本帖最后由 lsj0416 于 2015-4-1 11:24 编辑附件是个二进制文件,数据结构为两列,第一列为时间,第二列为数值,内容是:1427414400 2000,我想修改成1175212800 32.88,使用以下代码:$sFile = "test.Dat"
$hfile = FileOpen($sFile, 2 + 16)
$dt = "1175212800"
$VAR = "32.88"
$dat = Binary($dt & " " & $VAR)
FileWrite($sFile, $dat)
FileClose($hfile)
怎么就会把源文件改成了一个文本文件了呢? 目测第六行的$sFile应该改成$hFile $sFile = "test.Dat"
$hfile = FileOpen($sFile, 2 + 16)
$dt = "1175212800"
$VAR = "32.88"
$dat = Binary($dt & " " & $VAR)
FileWrite($hfile, $dat)
FileClose($hfile)改过来,也不行。 回复 1# lsj0416
如果数据是二进制数据变量(而不是文本),那么将会一个字节一个字节的写入. 要进行二进制操作(Binary operation)必须使用 Fileopen() 并加上 binary 标志打开文件。
(来自 http://www.autoitx.com/Doc/html/functions/filewrite.htm上的描述)
可以试试。 谢谢回答,我错在哪里呢?该怎么做呢? 参照这个帖子解决了!
http://www.autoitx.com/forum.php?mod=viewthread&tid=16496&highlight=%B6%FE%BD%F8%D6%C6 不好意思LZ,我看错了,谢谢反馈信息,学习了 内容是:1427414400 2000
你这个内容,我到底是没明白你是怎么读出来的~~
$sFile = 'test.dat'
$hFile = FileOpen($sFile, 16)
$sText = FileRead($hFile)
FileClose($hFile)
ConsoleWrite($sText & @CRLF & Dec(Hex($sText)) & @CRLF) 不是读出来的,而是,知道里面就这内容。
页:
[1]