0

我有一个读取二进制数据文件的 IDL 例程。但是,在这种情况下,我收到“READU:遇到文件结束。第 2 单元,文件:data.dat”。

而不是破坏二进制文件并重新创建它。这个问题可以克服吗?我可以使用什么 IDL 代码来读取二进制文件?二进制文件是由 C 函数创建的。

提前致谢。

4

1 回答 1

0

基于这个问题,我假设二进制文件具有定义的结构。您可能可以使用fstat()andeof()来解决这个问题。例如:

openr, lun, 'file.bin', /get_lun
fs = fstat(lun)

len = fs.size / n_bytes_in_data_structure
for i = 0L, len - 1 do begin
    readu, lun, var
    ...

如果您不知道数据结构的大小,或者如果您想在读取之前检查是否有足够数量的字节,您可以使用fs.cur_ptr(当然,在调用 之后fstat())或eof(lun).

于 2013-08-12T00:48:15.693 回答