如何读取长度不同的二进制文件?
例如,在3200字节的二进制文件之后有一个特定的值,它以4字节,2字节,2字节和1字节格式化。
我尝试使用
阅读mysql_query("INSERT INTO 'db'.'frs_Payment'('payid', 'amount', 'paydatetime', 'empnin', 'custid', 'pstatusid', 'ptid')
VALUES('','".$amount."','CURRENT_TIMESTAMP','".$empnin."','".$custid."','2','".$ptid."');");
然后将缓冲区变量中的4个字节的char变为一个char,然后将其转换为整数,但它不起作用。只显示它是否是一个字节长度。
答案 0 :(得分:2)
首先,你寻找你想要阅读的位置:
2014-04-13
然后将文件中的4个字节读取到您想要的整数:
Incorrect date value: '1997' for column 'date' at row 1
如果文件的endian和您的系统相同,则此方法有效。否则,您将数字转换为系统的endian。 E.g。
fseek(file, 3200, SEEK_SET);