2010-12-14 148 views
12

我想将字符串中的内容复制到字符数组中。将字符串内容复制到字符数组

我可以使用此代码StrLCopy(C, pChar(@S[1]), high(C));

我目前使用的德尔福2006年会不会有什么问题,如果我升级,因为在新版本中提供的Unicode支持我的德尔福版本?

如果不是,该转换的代码是什么?

回答

14

当你复制一个字符串到一个数组中,喜欢StrPLCopy

StrPLCopy(C, S, High(C)); 

即使在Unicode生效时,它也能在Delphi的所有版本中工作。 CS的字符类型应该相同;不要试图使用该函数在Ansi和Unicode字符之间进行转换。

StrLCopy也很好。不过,你不需要有太多的指针代码。德尔福已经知道如何将字符串转换为PChar类型:

StrLCopy(C, PChar(S), High(C)); 
+0

谢谢罗布抽出时间 – Bharat 2010-12-14 15:57:13

6

这工作,在一个快速测试:

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; 
+0

能否请你告诉我两个STrlCopy语句 – Bharat 2010-12-14 15:47:45

+0

之间的区别谢谢你肯抽出时间 – Bharat 2010-12-14 15:56:47

相关问题