回 帖 发 新 帖 刷新版面

主题:fillchar

谁有fillchar详细用法、限制等等
有用的必加分

回复列表 (共12个回复)

11 楼

fillchar(x,y,z)的作用是:

从数组x(或变量x)的第1个字节开始,连续y个字节赋值为z.

而 sizeof() 函数是取某变量或数组占用的内存长度.

在integer/longint数组上用的时候, fillchar会出问题: 下面是原因

例如x是integer数组, fillchar(x,sizeof(x),7)将integer的2个字节都赋值为7, 则数值其实是256*7+7=1799.

一个integer占用16位2进制位, 7化为2进制等于00000111, 所以x数组的每个变量变成了0000011100000111(2进制), 化为10进制为1799.

fillchar是给每一个字节都赋值,integer占用2字节, 应该用fillword, 它和fillchar差不多, 只是每2个字节赋值一次, longint数组请用filldword, filldword是每4个字节赋值一次.

当然,用fillword和filldword的前提是: 你用的是Free Pascal. Turbo Pascal不支持这两个过程.

脸皮厚的人请求+30~~~~~

12 楼

如果可以加100分,我也会给你。

我来回复

您尚未登录,请登录后再回复。点此登录或注册