gpt4 book ai didi

arrays - 如何在字节数组中搜索 "StringA"?

转载 作者:行者123 更新时间:2023-12-03 15:42:23 26 4
gpt4 key购买 nike

使用 FreePascal(如果没有 FP 示例,则使用 Delphi),给定一个作为“字节数组”的 2048 字节缓冲区,我如何在缓冲区中搜索“StringA”?

var
Buffer : array[1..2048] of byte;
...
repeat
i := 0;
BlockRead(SrcFile, Buffer, SizeOf(Buffer), NumRead);
// Now I want to search the buffer for "StringA"?
...

谢谢

最佳答案

我认为这将在 fpc 中工作,无需额外的 Unicode/AnsiString 转换:

function Find(const buf : array of byte; const s : AnsiString) : integer;
//returns the 0-based index of the start of the first occurrence of S
//or -1 if there is no occurrence
var
AnsiStr : AnsiString;
begin
SetString(AnsiStr, PAnsiChar(@buf[0]), Length(buf));
Result := Pos(s,AnsiStr) - 1; // fpc has AnsiString overload for Pos()
end;

关于arrays - 如何在字节数组中搜索 "StringA"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10018739/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com