从文件读取二进制数据,并将数据放置在已分配的数组中,不另行分配数据的副本空间。与读取二进制文件函数不同,该函数避免了运行时的内存分配操作。

函数的运行速度取决于预分配的数组。

连线板显示该多态函数的默认数据类型。


icon

输入/输出

  • cbsrn.png 引用句柄输入

    引用句柄输入是要读取文件的引用句柄。

  • c1ddbl.png 数据输入

    数据输入指定要放置数据的数组。该函数读取数组中存放的所有元素。关于该函数支持的数组和数据类型,请参考支持表

  • cenum.png 字节顺序(0:big-endian, network order)

    字节顺序设置结果数据的endian形式。字节顺序,或endian形式,表明在内存中整数是否按照从最高有效字节到最低有效字节的形式表示,或者相反。函数必须按照数据写入的字节顺序读取数据。

    备注 该函数要求字节顺序参数与LabVIEW所在的计算机的字节顺序一致。如果计算机是big endian,请选择native, host orderbig-endian, network order>endian形式。如计算机为little endian,可选择native, host orderlittle-endian endian形式。
    0big-endian, network order(默认)-最高有效字节占据最低的内存地址。该形式用于PowerPC平台(例如VxWorks)。该endian形式也在读取由其他平台上写入的数据时使用。
    1native, host order-使用主机的字节顺序格式。该形式可提高读取写速度。
    2little-endian-最低有效字节占据最低的内存地址。该形式用于Windows、macOS和Linux。
  • cerrcodeclst.png 错误输入

    错误输入表明该节点运行前发生的错误条件。该输入将提供标准错误输入功能。

  • ibsrn.png 引用句柄输出

    引用句柄输出是函数读取的文件的引用句柄。可将该输出连接至其他文件函数。

  • i1ddbl.png 数据输出

    数据输出中是从文件中读取的数据。输出不会为了只包括有效数据而调整大小。如数据输入在填满之前LabVIEW就达到文件末尾(EOF),数组中将会包含部分无效元素。读取元素的数量输出表示数据输出中有效数据的确切总量。如数据输入数组被填满之前LabVIEW没有到达文件末尾,LabVIEW将把指针停留在读取结束的位置。下次读取从上次读取停止的位置开始。

  • ii32.png 读取元素的数量

    读取元素的数量返回数据输入数组中被文件数据替换的元素的总量。

  • ierrcodeclst.png 错误输出

    错误输出包含错误信息。该输出提供标准错误输出功能。

  • 下列程序框图显示了该函数如何与预分配数组配合使用。预分配的读取二进制文件函数运行时,LabVIEW将把从文件读取的数据放入相同的数组。

    预分配的读取二进制文件的支持情况

    该函数对不同类型数组的支持不尽相同:

      完全支持。函数不要求新的分配任务,比读取二进制文件函数更快。

      支持。函数要求新的分配任务的数据拷贝,比读取二进制文件函数更慢。

      函数不接受。

    下表显示了该函数对各种数组或数组块数据输入的支持情况。

    数据类型数组连续的数组块非连续的数组块1
    整型
    单精度浮点数,浮点数值
    双精度浮点数
    扩展精度浮点数²
    单精度浮点复数
    双精度浮点复数
    扩展精度浮点复数²
    定点数²
    布尔
    字符串
    所有其他类型
    备注
    1. LabVIEW必须为非连续的数组块创建内存拷贝。如连接非连续的数组块至数据输入,预分配的读取二进制文件函数并不比读取二进制文件函数更快。
    2. 预分配的读取二进制文件函数可处理扩展精度、复数扩展精度和定点数据。但是,预分配的读取二进制文件函数和读取二进制文件函数一样为这些数据类型分配新的内存拷贝,因为无法在现有的分配空间中容纳这些数据类型。

    该函数也支持上述类型在表格中使用。