2010-12-14 76 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

相關問題