【发布时间】:2012-07-25 02:39:44
【问题描述】:
我必须从 FLV 文件中读取标签,并且有三个字符可以识别数据长度。我已将它们读入 char dataLength[3],但我不知道下一步该做什么。它是二进制的,而不是 ASCII,所以它不像使用 atoi() 将 char xxx[] = "123" 转换为整数 123 那样简单。这是我的标签的 C 结构:
typedef struct {
int previousLength;
char identify; // 8: AUDIO, 9:VIDEO 18: SCRIPT
char dataLength[3];
char time[3];
char timeExt;
char streamID[3]; // always 0;
char unused__;
} FLVTag;
我可以从文件中读取标签,但是如何将dataLength 转换为 int?
【问题讨论】:
-
你不能只转换成 int..?我不确定我理解你到底想做什么。
-
这三个字符看起来像十进制数还是二进制数?
-
取决于字节中的内容。小端格式?大端格式? ASCII 十进制/十六进制/八进制数字?
-
你为什么要把它们读给
char[3]?谁告诉你这是char[3]值? -
你存储在char[3]中的数据格式是什么?