如何从文件中读取幻数?

时间:2017-05-15 21:00:22

标签: c

我有一个文件列表。对于每个文件,我需要查明起始的两个字符是否是#'#!'。我该怎么做?

1 个答案:

答案 0 :(得分:2)

使用fgetc()加载这两个数字(如@WilliamPursell建议的那样),然后比较它们:

int i1, i2;
FILE *file;

file = fopen("yourfile", "rb");
if (file == NULL) {
    printf("Error: failed to open file");
    return 1;
}
i1 = fgetc(file);
i2 = fgetc(file);

// 23h...#, 21h...!
if (i1 == 0x23 && i2 == 0x21) {
    // magic number
}