TIdTcpCCient.readbuffer,我想用S :Array of Char来接收
可是接不着东西,应为事先知道字符串长度.所以用
SetLength(s,长度),
而用定长的字符数组就没事,如果字符串太长就要写循环来接收,
大家能告我为何,并有何好方法呢
可是接不着东西,应为事先知道字符串长度.所以用
SetLength(s,长度),
而用定长的字符数组就没事,如果字符串太长就要写循环来接收,
大家能告我为何,并有何好方法呢
S :Array of Char;//动态数组pchar(s)才是分配出来的那块内存.setlength(s,长度);
readbuffer(pchar(s)^,length(s));如果是静态数组
s :array[0..1000] of char;// 静态数组@s就是分配出来的内存.
readbuffer(s,length(s));
readbuffer(s,length(s));
改为
readbuffer(s,长度);
给我指点指点,
S :Array of Char;
S 不也是指向动态数据的指针吗,
Pchar 是指向字符的指针,
那么S^ ,为何不行呢?感谢!
var
s:pchar;GetMem(s,长度); readbuffer(s^,长度);FreeMem(s);
师者,传业授道解惑也.
你可是我老师了.