Тема: FillChar и Move
Варианты на Pascal
procedure _FillChar(var Dst; Count: LongInt; Value: AnsiChar);
var
Idx: LongInt;
begin
for Idx := 0 to Count - 1 do
PAnsiChar(@Dst)[Idx] := Value;
end;
procedure Move(const Src; var Dst; Count: LongInt);
var
Idx: LongInt;
begin
if @Src <> @Dst then
if (LongWord(@Src) > LongWord(@Dst))
or (LongWord(@Dst) > (LongWord(@Src) + Count)) then
for Idx := 0 to Count - 1 do
PAnsiChar(@Dst)[Idx] := PAnsiChar(@Src)[Idx]
else
for Idx := Count - 1 downto 0 do
PAnsiChar(@Dst)[Idx] := PAnsiChar(@Src)[Idx];
end;