델파이, 문자열을 바이트 배열로 복사하십시오
문제
내가 가지고있는 것, 그러나 문자열을 pbytearray에 복사하는 더 빠른 방법이 있다면 나는 찾고 있습니다.
sysutils에서
PByteArray = ^TByteArray;
TByteArray = array[0..32767] of Byte;
추정하다 ㅏ 그리고 에스 올바르게 설정됩니다
a: pByteArray;
s: string;
이 작업을 수행하는 빠른 방법이 있습니까? 즉, 사본과 같은 것
for i := 1 TO Length(s) - 1 do
a^[i] := Ord(s[i]);
델파이 7
해결책
이동을 사용하여 조심하십시오. Delphi 2009를 사용하는 경우 실패 할 수 있습니다. 대신, 이것을 사용하십시오 :
이동 (s [1], a^, 길이 (s) * sizeof (char));
작업을 수행하기 위해 Sysutils.pas (Delphi 2009/2010 ++ 만 해당)에서 클래스 Tencoding을 사용할 수도 있습니다.
다른 팁
신경 쓰지 마세요
Move(s[1], a^, Length(s));
당신은 단순히 그것을 캐스팅 할 수 있습니다 :
a := @s[1];
다른 방법은 다음과 같습니다.
s := PChar(a);
나는 당신이 사용할 수 있다고 생각합니다 move
이와 같이 절차 예시
제휴하지 않습니다 StackOverflow