此函数获取当前 " 查找 " 位置以供其他缓冲区函数使用。
当您使用 buffer_read 或 buffer_write 函数向缓冲区读取或写入数据时,当前 " 查找 " 位置会提前写入或读取的字节。例如,如果您的缓冲区对齐设置为 4 字节,并且您写入了 1 字节大小的单条数据,然后执行 buffer_tell,您将得到返回值 1。但是,如果您写入另一条数据,大小也是 1 个字节,然后执行 buffer_tell,您将得到返回值 5,因为对齐已将数据 " 填充 " 到该位置。
要更改缓冲区的查找值,请使用 buffer_seek。
buffer_tell(buffer);
参数 | 类型 | 描述 |
---|---|---|
buffer | Buffer | The buffer to use. |
var _pos = buffer_tell(buff); buffer_seek(buff, buffer_seek_start, 0);
val[0] = buffer_read(buff, buffer_S16);
val[1] = buffer_read(buff, buffer_S16);
val[2] = buffer_read(buff, buffer_S16);
buffer_seek(buff, buffer_seek_start, _pos);
上述代码会将变量 buff 中存储的缓冲区内的当前查找位置存储到局部变量 _pos。然后,缓冲区查找位置将设置为缓冲区的开头,并将三块数据读入数组,最后将缓冲区查找位置重置为之前的位置。