У меня есть небольшая программа, которая будет искать некоторую строку в файле. Эта строка имеет переменную часть на конце и ей всегда предшествует байт, который указывает размер.strcmp действует weird
Например, мы будем искать "HTTP: //" в "aaaaa.http: //www.example.combbbbb" (ASCII-код является 0x17
Допустим, мы "". . открыли файл код, который будет выполняться в:
while(car != EOF){
car = fgetc(file[ii]); // we get everything in the file
lastBuffStart=ftell(file[ii]);
ij=1;
buffer[0]=car; // we start editing the buffer
printf("\n%d (%c) - %d (%c) ",car,car,base[0],base[0]);
while(ij<(buffsize-1)){
buffer[ij]=fgetc(file[ii]);
printf("\n | %d (%c) - %d (%c) ",buffer[ij],buffer[ij],base[ij],base[ij]);
ij++;
}
fseek(file[ii],lastBuffStart,0); // we get back to the old position before the buffer continues
if(strcmp(buffer,base)==0){ // we compare
byteSize = (ftell(file[ii])-1); // we get the position of the size byte
printf("\nFound : 0x%x\n",byteSize);
}
}
Мы читаем все файлы и поместить в буфер следующие символы для сравнения с базой (НТТР: //).
Моя проблема заключается в том, что мы удаляем printf ("\ n |% d (% c) -% d (% c)", buffer [ij], buffer [ij], base [ij], base [ij]); Ничего не найдено ...
Я действительно не вижу, что я делаю неправильно.
Вы можете мне помочь?
Заранее спасибо.
Спасибо. Это было так просто. Я не знаю, почему я этого не видел. – MisterDoy