请问一个读取二进制文件的问题?
FILE* file; errno_t err=fopen_s(&file,"1.pdf", "r"); if(err) return false; int fseekres=fseek(file,0,SEEK_END); int length=ftell(file); fseekres=fseek(file,0,SEEK_SET); char * buffer=new char(length); fread(buffer,length,1,file); fclose(file);
size_t inline Find(char *buffer,char *search,size_t buffersize) { if(!buffer||!search) return -1; char *bufferex=buffer; int len=strlen(search); bool fnd=false; while (!fnd) { fnd=true; for (size_t i=0;i<len;i++) { if(buffer[i]!=search[i]) { fnd=false; break; } } if(fnd) return buffer-bufferex; buffer++; if(buffer-bufferex+len>=buffersize) return -1; } return -1; }