【发布时间】:2013-03-28 21:32:12
【问题描述】:
有没有办法在二进制文件中找到特定的原语(例如 MATLAB 中的 fread 或 Mathematica 中的 BinaryReadLists)?具体来说,我想扫描我的文件,直到它达到一个 int8_t 精度数,然后将其存储在一个变量中,然后扫描另一个原语(无符号字符、双精度等)?
我正在从 MATLAB 重写执行此操作的代码,因此文件的格式是已知的。
我想读取文件中仅指定类型(32 位 int、char、..)的 n 个字节。例如:如果返回为 8 位整数,则只读取文件的前 12 个字节
【问题讨论】:
-
不。如果你有一个二进制文件但不知道内容的格式,那么就不可能知道任何东西的类型是什么。
int和float和char*无法区分。 -
谢谢。我应该提到,但我知道格式。我正在从 MATLAB 重写代码。
-
如果你知道格式然后.....我完全不明白你的问题。如果您知道格式,为什么要“扫描直到找到 int8_t”?只需告诉我们您想做什么,而且很容易。
-
我想读取文件中指定类型(32 位 int、char、..)的 n 个字节。例如:如果返回为 8 位整数,则只读取文件的前 12 个字节
标签: c++ file binary primitive-types