C cyjsir Unregistered / Unconfirmed GUEST, unregistred user! 2008-11-26 #1 Delphi中怎么将pByte->pChar? 用pChar(Pionter(aByte)),值变为空。
白 白河愁 Unregistered / Unconfirmed GUEST, unregistred user! 2008-11-26 #2 var aa: PByte; bb: PChar; begin bb:= @aa; end;
X xmcccc Unregistered / Unconfirmed GUEST, unregistred user! 2008-11-26 #3 var aa: PByte; bb: PChar; begin bb:= @aa; end bb:= @aa 指向AA的位置,但AA已经为指针,所以就变成了指针的指针了 类型转换就行了 PCHAR(PBYTE))
var aa: PByte; bb: PChar; begin bb:= @aa; end bb:= @aa 指向AA的位置,但AA已经为指针,所以就变成了指针的指针了 类型转换就行了 PCHAR(PBYTE))
I iamy Unregistered / Unconfirmed GUEST, unregistred user! 2008-11-26 #6 var aa: PByte; bb: PChar; begin Pointer(bb):= Pointer(aa); end;
C cyjsir Unregistered / Unconfirmed GUEST, unregistred user! 2008-11-26 #7 to 白河愁: 你这种方法,转换后,数据格式不对。 to xmcccc: 转换后,值为空。与pChar(Pionter(aByte))结果一样
F fanronghua Unregistered / Unconfirmed GUEST, unregistred user! 2008-11-26 #8 var b Byte; c : pChar; bb : array[0..1] of Byte; begin bb[0] :=Byte('a'); bb[1] := 0; b :=pByte(@bb); showmessage(char(b^)); c := pchar(@bb); showmessage(c); end; delphi 在显示字符串的时候,在字符的最后一个要为0,否则显示不出来,所以当你用pchar的时候,不要忘记在 字符串的末尾加 char(0), 而你使用 pbyte 的时候,则不要。
var b Byte; c : pChar; bb : array[0..1] of Byte; begin bb[0] :=Byte('a'); bb[1] := 0; b :=pByte(@bb); showmessage(char(b^)); c := pchar(@bb); showmessage(c); end; delphi 在显示字符串的时候,在字符的最后一个要为0,否则显示不出来,所以当你用pchar的时候,不要忘记在 字符串的末尾加 char(0), 而你使用 pbyte 的时候,则不要。
C cyjsir Unregistered / Unconfirmed GUEST, unregistred user! 2008-11-26 #10 我是用DSPack的SampleGrabberBuffer(sender: TObject Buffer: TBufferCB)将获取数据Buffer.buffer,并将Buffer.buffer传入另一个SDK中,而这个SDK处理的接口类别是Pchar. 怎么转都不行?
我是用DSPack的SampleGrabberBuffer(sender: TObject Buffer: TBufferCB)将获取数据Buffer.buffer,并将Buffer.buffer传入另一个SDK中,而这个SDK处理的接口类别是Pchar. 怎么转都不行?
W wql Unregistered / Unconfirmed GUEST, unregistred user! 2008-11-26 #11 哎!你的第一个字节为0,那么查看pchar就为空了! 其实已经装换了,例如 0,5,6 --> #0#5#6 --> 显示为空!
M madic Unregistered / Unconfirmed GUEST, unregistred user! 2008-12-27 #12 强转就行了..根本不需要什么转换... 要是为空,只是你写的问题了. PChar与PBYTE都是指针...只不过你转换之后你看到的有所不同