OBJECT PASCAL中pchar指针的问题,向大家求教(40分)

  • 主题发起人 主题发起人 李子
  • 开始时间 开始时间

李子

Unregistered / Unconfirmed
GUEST, unregistred user!
我想把一个PCHAR指针指向的内存区域的内容存入一个STRING变量,请问具体该怎么做,还有,谁有PASCAL指针部分的详细资料,请给我一份,谢谢。
 
S := string(P1)
 
如果 Pchar 指向的只是内存区域(指向一片buffer),而不是 NULL Terminated string

要用 SetString
 
我试了,好象不行
 
你的具体代码?看是干什么用的
 
Str:=StrPas(Pchar);
注意:Pchar以#0作为字符串的结束标志.
如果字符串中间出现#0,后面的内容被忽略
可以用内存移动
Move(Pcahr,@String,Sizeof(String));
 
var
pS : pChar;
S : string;
I : integer;
begin
S := '';
I := 0;
while pS <> #0 do
begin
S := S + pS;
I := I + 1;
end;
end;
 
如 hz 的算法,建立一函数:
function pchartostr(str:pchar):string;
var i:word;
resul:string;
begin
i:=0;
resul:='';
while str<>#0 do
begin
resul:=resul+str;
inc(i);
end;
pchartostr:=resul;
end;
 
多人接受答案了。
 
后退
顶部