delphi string、char陣列和pchar
string:分兩種,內可包含#0。
shortstring:最長256位元組
ansistring:最長256的4次方
string-->pchar:只是講string中字串的位址複製給了pchar。
pchar和char陣列,佔記憶體少,速度快,效率高
轉換:1、將指標型資料轉換為字串:
function strpas(const str: pchar): string;
eg:var
mystr:array[0..20] of char;
begin
mystr:='我的程式';
showmessage(strpas(@mystr));
end;
注意:指向字串的指標,如果不是以0結尾,執行時會出現錯誤:
vars:string;
p:pchar;
begin
s:='new';
label1.caption:=s;
label2.caption:=inttostr(integer(s[0]));
p:=@s[1];
label3.caption:=strpas(p);
end;
例2:在字串結尾人工加入0即char(0),可使用指向字串的指標。
vars:string;
p:pchar;
begin
p:=@s[1];
s:='new'+char(0);
label1.caption:=strpas(p);
end;
2、將string轉化為pchar或陣列:
function strpcopy(dest: pchar; const source: string): pchar
3、procedure getmem(var p:pointer;size:integer);
string系列操作1
delphi string char陣列和pchar string 分兩種,內可包含 0。shortstring 最長256位元組 ansistring 最長256的4次方 string pchar 只是講string中字串的位址複製給了pchar。pchar和char陣列,佔記憶體少,速度快,效率...
string系列 StringBuilder實現
借助c 原始碼中stringbuilder的的實現,在c 中實現乙個stringbuilder類。非常簡單,關鍵在實現字串的連線上,直接上 stringbuilder關鍵的實現在於解決多次字串操作後的記憶體碎片問題,下面的 只是乙個玩具,記憶體增長方式可以自定義,這裡我使用的是二倍增長,你也可以4倍...
vim系列教程(1)基礎操作
總結下本人平時所使用的各種工具以及語言的快速入門教程以及給高手準備的高階材料,雖然本人也不是什麼高手,但是本身交流 的態度,希望能夠對各位起到幫助,系列教程,慢慢完善。首先從最常用的vim開始,涉及到基礎操作,也是平時用的最多的,以及高階操作,後續還有一些有用的 以及國外的書籍,不斷的修改完善。vi...