H
huamei
Unregistered / Unconfirmed
GUEST, unregistred user!
如何改正StrPCopy的缺點。
當string內含二進制資料時﹐如#00﹐那便會發生Copy錯誤﹐它只會復制#00之前的資料﹐就算使用StrPLCopy指定長度也一樣﹐如何解決﹖
例﹕
procedure TForm1.Button2Click(Sender: TObject);
var
pchar;
const
source : string='0123456789'+#0#0+'abc';
// 共 15 bytes
begin
getmem(p,50);
strpcopy(p,source);
//这句不要了!!!
try
ShowMessage(p[12]);
// 應該顯示 'a' 結果沒有 --> 錯誤
ShowMessage(source[13]);
// 顯示 'a' --> 正確
finally
FreeMem(P);
end;
end;
當string內含二進制資料時﹐如#00﹐那便會發生Copy錯誤﹐它只會復制#00之前的資料﹐就算使用StrPLCopy指定長度也一樣﹐如何解決﹖
例﹕
procedure TForm1.Button2Click(Sender: TObject);
var
pchar;
const
source : string='0123456789'+#0#0+'abc';
// 共 15 bytes
begin
getmem(p,50);
strpcopy(p,source);
//这句不要了!!!
try
ShowMessage(p[12]);
// 應該顯示 'a' 結果沒有 --> 錯誤
ShowMessage(source[13]);
// 顯示 'a' --> 正確
finally
FreeMem(P);
end;
end;