buff: array[1..64*1024] of PChar; 读成string
这个是64*1024个Pchar指针!除非你为每个指针分配内存,否则访问会出错的。
分配内存完成后
var P:PChar;
for i:=1 to 64*1024 do
begin
P:=Buff[i];
ShowMessage(StrPas(P));
end;
这个是64*1024个Pchar指针!除非你为每个指针分配内存,否则访问会出错的。
分配内存完成后
var P:PChar;
for i:=1 to 64*1024 do
begin
P:=Buff[i];
ShowMessage(StrPas(P));
end;
解决方案 »
- 一个动态加载组件的问题,求解!!!
- ListView排序的时候上面怎么样出现一个小三角的图标
- 高手帮忙!!!!急!!!!!!
- dbgrid小问题求助
- 关于结构体转换为字符串流的问题,非常感谢!!保证很有意义!
- 大家能否提供用DELPHI编写的邮件发送接受程序?
- 一个简单问题。。。。。
- 高难度问题:谁有几个点按某点旋转45度,90度,180度等代码,高分相送
- 老千,偶最后想实现两个比较的高级功能,注册码和反安装,(反安装unwise在目录里有,但不出现在程序组里),求教//牛虻
- 关于继承tcustomgrid出错的问题
- DELPHI程序员必看!(尤其是搞数据库的一定要看看)
- 局域网上拷贝文件的问题, 请高手帮助!
str : string;
size : integer;
buff: array[1..64*1024] of PChar
begin
//...........
size := //buff数组内容的长度
p := new(size);
move(buff^, p^ , size);
str := StrPas(PChar(p));
end;没经过验证,不过我感觉可以,你可以试一下
我认为你的那个指针数组还是需要for 一次,才能把东西读出来;
getdata :array of string;
begin
move(buffer^,getdata,bufferleng);
end;
动态创建的,然后赋值,会连续吗??
从头指针读数据,不知道可以不?
psocket.buff
psocket属于动态页面的1个指针
这个动态页面是c++的1个exe创建的
我在my app里读这个动态内存页面
如果是char数组,很容易读出来,可惜它是静态的
Var
Buff:PChar;Initialization
Begin
GetMem(Buff,64*1024);
End;疑问=>
Char和Pchar是完全不同的数据类型
怎么会考虑用char代替PChar?
>>如果用char代替,只能读到静态内容
>>我需要读动态内存数据
这个地方,你究竟是pchar还是char?????
如果是char,则是连续的,而且很好实现。
array[1..64*1024] of PChar