我想将字符串中的内容复制到字符数组中。将字符串内容复制到字符数组
我可以使用此代码StrLCopy(C, pChar(@S[1]), high(C));
我目前使用的德尔福2006年会不会有什么问题,如果我升级,因为在新版本中提供的Unicode支持我的德尔福版本?
如果不是,该转换的代码是什么?
我想将字符串中的内容复制到字符数组中。将字符串内容复制到字符数组
我可以使用此代码StrLCopy(C, pChar(@S[1]), high(C));
我目前使用的德尔福2006年会不会有什么问题,如果我升级,因为在新版本中提供的Unicode支持我的德尔福版本?
如果不是,该转换的代码是什么?
当你复制一个字符串到一个数组中,喜欢StrPLCopy
。
StrPLCopy(C, S, High(C));
即使在Unicode生效时,它也能在Delphi的所有版本中工作。 C
和S
的字符类型应该相同;不要试图使用该函数在Ansi和Unicode字符之间进行转换。
但StrLCopy
也很好。不过,你不需要有太多的指针代码。德尔福已经知道如何将字符串转换为PChar类型:
StrLCopy(C, PChar(S), High(C));
这工作,在一个快速测试:
var
ch: array[0..10] of Char;
c: Char;
x: Integer;
st: string;
begin
s := 'Testing';
StrLCopy(PChar(@ch[0]), PChar(s), High(ch));
x := 100;
for c in ch do
begin
Canvas.TextOut(x, 100, c);
Inc(c, Canvas.TextWidth(c) + 3);
end;
end;
谢谢罗布抽出时间 – Bharat 2010-12-14 15:57:13