Delphi Char、Pchar 、String 相互转换
<p><span style="font-size: 16px"><strong>Delphi Char、Pchar 、String 相互转换</strong></span></p><p><span style="font-size: 16px"><strong>1、String 与 PChar 转换</strong></span><br><span style="font-size: 16px">1.1 String转化成PChar 2种方式</span></p>
<div class="cnblogs_Highlighter">
<pre class="brush:delphi;gutter:true;"><span style="font-size: 16px">var
s:string;
p,p1:PChar;
begin
s:='Hi Delphi7';
p:=PChar(s); //
ShowMessage(p);
p1:=StrAlloc(Length(s)+1);
StrPCopy(p1,s);
ShowMessage(p1);
StrDispose(p1);
end;
</span></pre>
</div>
<p><span style="font-size: 16px">1.2 PChar转String 3种方式</span></p>
<div class="cnblogs_Highlighter">
<pre class="brush:delphi;gutter:true;"><span style="font-size: 16px">var
s,s1,s2:string;
p:PChar;
begin
s:='Hi Delphi7';
p:=PChar(s); //ShowMessage(p);
s1:=p; //ShowMessage(s1);
s2:=StrPas(p);//ShowMessage(s2);
end;
</span></pre>
</div>
<p> </p>
<p><span style="font-size: 16px"><strong>2、String 与 Char 转换</strong></span><br><span style="font-size: 16px">2.1 Char转String </span></p>
<div class="cnblogs_Highlighter">
<pre class="brush:delphi;gutter:true;"><span style="font-size: 16px">var
c:array of Char;
s:string;
begin
s:=StrPas(@c); //使用StrPas函数获取数组的首地址 ShowMessage(s);
end;
</span></pre>
</div>
<p><span style="font-size: 16px">2.2 String 转 Char </span></p>
<div class="cnblogs_Highlighter">
<pre class="brush:delphi;gutter:true;"><span style="font-size: 16px"> var
s:string;
c:array of Char;
i:Integer;
begin
s:='Hi Delphi7';
SetLength(c,Length(s));
//Move(s,c,Length(s));//move 或 CopyMemory
CopyMemory(@c,PChar(s),Length(s));
for i:=Low(c) to High(c) do
begin
ShowMessage(string(c))
end;
end;
</span></pre>
</div>
<p> </p>
<p><span style="font-size: 16px"><strong>3、Char 与 PChar 转换</strong></span><br><span style="font-size: 16px">3.1 Char 转 PChar</span></p>
<div class="cnblogs_Highlighter">
<pre class="brush:delphi;gutter:true;"><span style="font-size: 16px">var
c:array of Char;
p:PChar;
begin
c:='Hi Delphi7';
//p:=@c;
p:=PChar(@c);
ShowMessage(StrPas(p));
end;
</span></pre>
</div>
<p><span style="font-size: 16px">3.2.PChar 转 Char</span></p>
<div class="cnblogs_Highlighter">
<pre class="brush:delphi;gutter:true;"><span style="font-size: 16px">var
s:string;
p:PChar;
c:array of Char;
i:Integer;
begin
s:='Hi Delphi7';
p:=PChar(s);
SetLength(c,Length(s));
//Move(p^,c,Length(s));//move 或 CopyMemory
CopyMemory(@c,p,Length(s));;
for i:=Low(c) to High(c) do
begin
ShowMessage(string(c))
end;
end;
</span></pre>
</div>
<p><span style="font-size: 16px"> </span></p>
<p> </p>
<p> </p>
<p><span style="color: rgba(136, 136, 136, 1)">创建时间:2021.01.13 更新时间:</span></p>
<p> </p>
</div>
<div id="MySignature" role="contentinfo">
博客园 滔Roy https://www.cnblogs.com/guorongtao 希望内容对你有所帮助,谢谢!<br><br>
来源:https://www.cnblogs.com/guorongtao/p/14270681.html
頁:
[1]