关于一个字符串数组和string相加的问题(20分)

  • 主题发起人 主题发起人 cornermoss
  • 开始时间 开始时间
C

cornermoss

Unregistered / Unconfirmed
GUEST, unregistred user!
const BufSize=2048
//发送每一笔数据的缓冲区大小
SpareBufSize=2007;//剩余缓冲区大小
type
ReqBuf=array[0..BufSize] of Char;
现在要
ReqCode:=GetSendInfoFromIncept(CtrlCode)+Buf;
其中
var ReqCode:ReqBuf;
Buf:array[0..SpareBufSize] of char;
GetSendInfoFromIncept(CtrlCode)所返回的值是string
我该怎么办呢??谢谢了先~~

PS:
strcopy(@ReqBuf[0],PChar(GetSendInfoFromIncept(CtrlCode) + String(PChar(@Buf))) );
出错为
用shinesi(阿shine) 提示出错:
[Error] Teach_Func_f.pas(373): '(' expected but '[' found
[Error] Teach_Func_f.pas(373): Incompatible types: 'ReqBuf' and 'PChar'

谢谢了先呀~~~~

 
啥东东?俺都看傻眼了! ^_^
 
没有人来吗??还是问题太简单了哦??

哪位神仙快来救救我吧~~~~~~~~~~~~
 
PS:我的BufSize是每笔信息的大小,每笔信息都包含了一个公共头(可变的信息,string类型,但是大小是定的),
然后剩余的信息空间(Buf),定义为其他信息,Buf:array[0..SpareBufSize] of char

现在的问题就是怎么使 string类型和array[0..SpareBufSize] of char类型能相加,并且结果是
array[0..BufSize]of char类型
 
你把string类型的拆开呢,可以用copy()函数
然后把每个转化为char型的就应该可以了。

var str:string;
i:integer;
temp:Pchar;
begin
for i:=0 to Length(str)-1 do
begin
temp:=chr(copy(str,1,i))
此处把temp存入数组
end;
end;
 
strcopy(@ReqBuf[0],PChar(GetSendInfoFromIncept(CtrlCode) + String(PChar(@Buf))) );
修改成
strcopy(@ReqCode[0],PChar(GetSendInfoFromIncept(CtrlCode) + String(PChar(@Buf))) );
试试。
 
接受答案,谢谢各位了哈
再请帮我看看
http://www.delphibbs.com/delphibbs/dispq.asp?lid=1132736 呢?
 
后退
顶部