Поиск последовательностей байт в файле
Posted: Fri Oct 05, 2012 6:17 pm
Для упрощения чтения форматов фалов. Находит последовательность символов (по их кодам, то есть в принципе может искать и коды тоже) и возвращает смещение в байтах от начала файла. Функция в примере предназначенна для единичного поиска последовательностей, однако в самом примере реализован поиск до конца файла, при желании она легко переписывается под функцию). В последствии на основе этого примера можно сделать функции чтения ini файлов.
Code: Select all
b_str=""
f_str="Example string"
f = fopen( "file name", "rb" )
while(d != -1){
d=find_str(0,f,f_str)
num_to_str(b_str, d )
fputs(b_str) fputs(" ") fputs( "\n" )
}
fclose( f )
while(1){}
//functions
fn find_str($d,$f,$f_str){
while($d != -1){
$d = fgetc($f)
if ($d==$f_str[0]){
$si=1 while($si<=get_size($f_str)-1){
$d = fgetc($f)
if ($d==$f_str[$si]){$f_flag=1}
else {$si=256 $f_flag=0}
$si+1
}
if ($f_flag==1){ret(ftell($f))}
}
}
ret(-1)
}