【发布时间】:2021-06-24 06:24:15
【问题描述】:
当只知道应该为红色的元素的大小和偏移量(以十六进制表示)时,是否有可能从二进制文件中读取某物?
例如,如果我想读取一个 8 字节的 FILETIME 变量,它的偏移量为 0x001C,我该如何处理这是 C 或 C++?
我试过了
fseek(pFile, 0x001C, SEEK_SET);
FILETIME* temp =(FILETIME*) malloc(sizeof(FILETIME));
fscanf(pFile, "%d", *temp);
但它不能正常工作,我不知道为什么。
谢谢
【问题讨论】:
-
“它不能正常工作”不是一个有用的问题描述。
-
您不能将
fscanf与二进制文件一起使用。或者,你可以,但它没有意义。 -
在读操作时,元素的大小在哪里使用?
-
注:二进制搜索不是你想的那样,它是一种在 O(log(n)) 中搜索排序数组中的值的算法,我从标签中删除了它。如果您想了解更多信息:en.wikipedia.org/wiki/Binary_search_algorithm
标签: c++ c binary sequential fseek