我想將字符串中的內容複製到字符數組中。將字符串內容複製到字符數組
我可以使用此代碼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