二进制文件读取问题
用折半查找,找到二进制文件中与关键字相同的项,并在程序中将其输出。问题主要是不知道怎样在二进制文件中实现折半查找。望各位给予解答。
应该知道总项数(n)有多少吧,然后写入的结构(struct arch{int a; char keyword[10];int b;})也应该知道吧,每一项的关键字keyword相对的位置也应该知道吧,然后你就通过fseek来改变文件指针位置(fseek(fp, oft+k*sizeof(struct arch)+4, SEEK_SET),oft 为你开始写结构内容的偏移),把第k项的关键字读出来(fread(buf, 10, 1, fp)),再通过折半查找确定下一个k的值,以此类推。。。