Bha*_*rat 14 delphi delphi-2006
我想将字符串中的内容复制到char数组.
我可以使用这段代码吗? StrLCopy(C, pChar(@S[1]), high(C));
我目前正在使用Delphi 2006.如果因为新版本中提供的Unicode支持而升级我的Delphi版本会有任何问题吗?
如果没有,这个转换的代码是什么?
Rob*_*edy 16
当您将字符串复制到数组中时,首选StrPLCopy
.
StrPLCopy(C, S, High(C));
Run Code Online (Sandbox Code Playgroud)
这将适用于所有版本的Delphi,即使Unicode生效.字符的类型C
和S
应该是相同的; 不要尝试使用该函数在Ansi和Unicode字符之间进行转换.
但StrLCopy
也很好.但是,您不需要拥有如此多的指针代码.Delphi已经知道如何将字符串转换为PChar:
StrLCopy(C, PChar(S), High(C));
Run Code Online (Sandbox Code Playgroud)
这在快速测试中有效:
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;
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
24649 次 |
最近记录: |