Delphi2010下的FillChar

在delphi2010中,因为unicode的原因,FillChar使用方法已经和老版delphi大不相同了。

如果想用某一个字符(或汉字)填充内存 buf: array[0..1023] of Char; 就不能这样使用 FillChar(buf, size, 65); {填充字母 A}

这样使用是错误的,应该这样做:StrPCopy(Buf, StringOfChar('A',Length(Buf)));

如果是填充#0,可以使用 FillChar(buf, SizeOf(Buf), #0); 

另外:buf的大小,只需使用SizeOf(Buf)或bytelength(buf),没必要用这么复杂的,拐了好几个弯 size := Length(buf) * SizeOf(Char);

原文地址:https://www.cnblogs.com/tc310/p/4778588.html