【发布时间】:2022-02-01 08:36:44
【问题描述】:
我有一个文件RTCM3.bin。当我将此文件转换为十六进制字符时,我可以看到它的内容。例如:
0x3A, 0x00, 0x04, 0x10, 0xD3, 0x00, 0x95, 0x3E, 0xC0, 0x01, 0x49, 0x66, 0xA6, 0x42, 0x90, 0x09, 0x2E, 0x0D, 0x8E, 0x00, 0x30, 0x86, 0x14, 0x68, 0x70等等等等
问题是这个字符被传递给一个函数:
FILE *p;
p = fopen("./RTCM3.bin", "r");
int y = fgetc(p);
printf("First character in input to input_rtcm3f: %d\n", y);
int x = input_rtcm3f(&rtcm, p);
printf("Return value of input_rtcm3f: %d\n", x);
无论如何,我只需要为input_rtcm3 函数提供输入,只需要从 0xD3 开始的字符。在这种情况下:
`0xD3, 0x00, 0x95, 0x3E, 0xC0, 0x01, 0x49` etc. etc.
我该怎么做? y 是 0xD3 的整数值,即 211。所以,y 我认为应该是 211。
【问题讨论】:
-
循环读取文件,直到得到
0xd3。然后开始用字符调用input_rtcm3f()。