nmu*_*ntz 3 c++ binary data-structures
有人能指出我如何读取由C结构定义的二进制文件的正确方向吗?它在结构体内部有一些#define,这使我的事情变得复杂.
结构看起来像这样:(虽然它比它更大,更复杂)
struct Format {
unsigned long str_totalstrings;
unsigned long str_name;
#define STR_ORDERED 0x2
#define STR_ROT13 0x4
unsigned char stuff[4];
#define str_delimiter stuff[0]
}
Run Code Online (Sandbox Code Playgroud)
如果有人能指出我如何做到这一点的正确方向,我将非常感激.或者如果那里有任何涵盖这个主题的教程?
非常感谢您的帮助.
有一些不好的想法和好主意:
int,long,short,等等,输入C/C++.您可以使用类似的东西int16_t,但这些只适用于现代编译器.read系统调用然后解析缓冲区 - 反之亦然,一次读取整个内容而不是更适合的细粒度,懒惰读取).有几种工具可以做到这一点: