各位新年快乐!(20分)

  • 主题发起人 主题发起人 sjw16
  • 开始时间 开始时间
S

sjw16

Unregistered / Unconfirmed
GUEST, unregistred user!
我的问题是:
var
s:string;
rte:Pbyte;
begin
s:='abcde';
rte:=pbyte(s);
如何将rte的字符串一个一个的显示出来??
谢谢!!!
 
现在的问题如下:
procedure TForm1.Button3Click(Sender: TObject);
var
str1,str2:pchar;
begin
getmem(str1,5);
strcopy(str1,'abcd');
str2:=str1+1;
showmessage(str2);
end;
做出来显示的结果是:bcd;
现在我要将str1,str2的pchar类型换为pbyte,怎么不行呢?
如果实现怎么做?不能用inc循环。
谢谢!!!
 
1) 做出来显示的结果是:bcd;
  str1: a b c d
str1指向第一位即a
str1+1 则指针向前移一位,指向b; 
str2 =str1+1时,str2的已经指向b,显示出来的当然是bcd了.
2) 这样能不能满足你的要求了。
procedure TForm1.Button3Click(Sender: TObjet);
var
str1,str2:pchar;
str: pbyte;
begin
getmem(str1,5);
getmem(str,5);
strcopy(str1,'abcd');
str2:=str1+1;
showmessage(str2);
copymemory(str,str1,5);
showmessage(pchar(str));
if assigned(str1) then
freemem(str1);
if assigned(str) then
freemem(str);
end;

end;


 
你那样做不符合我的要求。
我的要求就是用pbyte,不能用pchar.
 
不会吧
str1,str2不是你自己定义的吗,我用了str: pbyte
另: 其实还是没搞明白你到底想干什么,或解决什么问题
 
多人接受答案了。
 

Similar threads

回复
0
查看
848
不得闲
回复
0
查看
1K
不得闲
D
回复
0
查看
909
DelphiTeacher的专栏
D
D
回复
0
查看
704
DelphiTeacher的专栏
D
后退
顶部