move函数的使用?(20分)

  • 主题发起人 主题发起人 bota
  • 开始时间 开始时间
B

bota

Unregistered / Unconfirmed
GUEST, unregistred user!
如果move函数要把字符串、数字移到byte数组中要怎么移呢,这样行吗?
我是这么写的,程序运行一般正常,但偶尔会出现经过移动再处理后的字符数据全变成0字符的空数据了,再次运行程序又是好的,怀疑是这么写有点问题
var
newnum :integer;
newstr :string;

newnum :=345;
newstr :='sdfd';
move(newnum,fileindex[0],4);
move(PChar(newstr)^,fileindex[4],length(nwestr));
 
Length改为SizeOf
 
to muhx:
SizeOf(newstr)是个指针的长度,不对的。
楼主原来的写法没错,问题可能出在fileindex上面。
 
nicai_wgl说的对
 
你这个fileindex是干什么的 a
 
保存文件信息的,要保存文件名和文件长度
 
如果没有猜错的话,楼主对FileIndex的定义是不是如下?
FileIndex: array[0.255] of char之流.因为FileIndex不是String类型,否则不会有FileIndex[0]的调用.
我看了一下,代码应该没问题,很可能是楼主对FileIndex的空间申请益处了
 
后退
顶部