Вниз
Скачать: CL | DM;

Поиск подстроки в строке   Найти похожие ветки 

← →
Brat-2   (2003-01-02 15:47) [0]

Читаю в buf: [0..512] of char данные из двоичного файла. Нужно найти в buf подстроку. Стандартная POS не находит (видимо обрабатывает только строку до символа #0 или #13), ибо StrLen(buf) также не определяет ее как 512 (гораздо меньше). Примечание: файл > 512. Подскажите, пожайлуста, как быть?


← →
Ru ©   (2003-01-02 16:03) [1]

попробуй написать свою функцию и читать не в буфер символов а в массив целых чисел


← →
ION T ©   (2003-01-02 16:18) [2]

Я не понял шо в двоичном файле делает строка?


← →
Song ©   (2003-01-02 16:19) [3]

Ищи своим циклом


← →
Sha ©   (2003-01-02 16:32) [4]

2 Brat-2 (02.01.03 15:47)

Упреждая твой следующий вопрос:

function PosFromTo(Find, Source: string; QChar: char= "?";
StartPos: integer= 1; StopPos: integer= 0): integer;
var
LenFind, LenSource: integer;
Mask, StopMask, Cur, Start, Stop: PChar;
ch: char;
label
NextPos;
begin;
Result:=0;
LenFind:=length(Find);
LenSource:=length(Source);
if (StartPos<=0) then StartPos:=1;
if (StopPos<=0) or (StopPos>LenSource) then StopPos:=LenSource;
StopPos:=StopPos+1-LenFind;
if (LenFind=0) or (StartPos>StopPos) then exit;

Start:=@Source[StartPos];
Stop:=@Source[StopPos];
StopMask:=@Find[LenFind+1];
NextPos:
Cur:=Start; if Cur=Stop then exit;
Mask:=pointer(Find);
repeat;
ch:=Mask^;
if (ch<>QChar) and (ch<>Cur^) then begin;
Inc(Start);
goto NextPos;
end;
Inc(Cur);
Inc(Mask);
until Mask=StopMask;
Result:=integer(Start)-integer(pointer(Source))+1;
end;


← →
Brat-2   (2003-01-02 21:28) [5]

Ok. Всем спасибо. Сделал свой цикл.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.011 c
14-37291
ZORRO
2002-12-20 09:51
2003.01.13
Сайт


1-37200
April
2002-12-30 14:55
2003.01.13
Как создать кнопку во время выполнения программы?


4-37443
Ал
2002-11-25 11:13
2003.01.13
Смещение от Гринвича


1-37070
AlexKniga
2003-01-02 21:07
2003.01.13
Как из IDE Delphi отлаживать DLL?


14-37343
Васёк
2002-12-24 10:19
2003.01.13
Цивилизованный рынок ПО с советским лицом : (




   Наверх