从文件中读取二进制数据,并在数据中返回。读取数据的方式由文件的格式决定。该函数不可用于LLB中的文件。

关于如何读取数据并将数据放置在预分配的数组中而不产生副本的详细信息,请参考预分配的读取二进制文件


icon

输入/输出

  • cstr.png 数据类型

    数据类型设置函数用于读取二进制文件的数据类型。

    函数把从当前文件位置开始的数据字符串作为数据类型总数个实例。如数据类型是数组、字符串,或者包含数组或字符串的簇,函数将假定该数据类型的每个实例都包括大小信息。如实例不包括大小信息,函数将无法解析数据。如LabVIEW确定数据与类型不匹配,函数将把数据设置为指定类型的默认值并返回错误。

  • cstr.png 对话框窗口(打开现有文件)

    对话框窗口是在文件对话框的文件或目录列表以及文件夹上方显示的信息。

  • cpath.png 文件(使用对话框)

    文件可以是引用句柄或绝对文件路径。

    如果是路径,函数将打开路径指定的文件。默认状态将显示文件对话框并提示用户选择文件。

    如指定空或相对路径,或者文件不存在,函数将返回错误。

  • ci32.png 总数(1)

    总数是要读取的数据元素的数量。数据元素可以是数据类型的字节或实例。

    函数可在数据中返回总数个数据元素,如到达文件结尾,函数可返回已经读取的全部完整数据元素和文件结尾错误。默认状态下,函数返回单个数据元素。如计数<–1,函数读取从当前位置开始的整个文件。如总数小于–1,函数返回错误。

    如连接数据至总数并且指定的数据类型是数组,由于LabVIEW不支持数组的数组,函数自动返回数组簇或簇数组

    如连线至总数的文件大小的数据类型不是32位整数,LabVIEW可使数据类型强制转换为32位整数。VI不读取指定数量的数据。如连线–1总数且要读取的文件太大,无法表示为32位整数,LabVIEW可返回错误。

    如连接包含整数的簇至总数接线端,函数将返回一个多维数组,每个维度包含一个簇元素。例如,如连接一个包含1、2、3的簇至总数接线端,函数返回一个三维数组:第一维度包含1个元素,第二维度包含2个元素,第三维度包含3个元素。

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

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

    0big-endian, network order (默认)-最重要字节占用最低内存地址。该形式用于PowerPC平台(例如VxWorks)。该endian形式也在读取由其他平台上写入的数据时使用。
    1native, host order-使用主机的字节顺序格式。该形式可提高读取写速度。
    2little-endian-最低有效字节占据最低的内存地址。该形式用于Windows、macOS和Linux。
  • cerrcodeclst.png 错误输入

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

  • ibsrn.png 引用句柄输出

    引用句柄输出是函数读取的文件的引用句柄。根据对文件的不同操作,可将该输入端连线至其它文件函数。如通过文件路径引用或文件对话框选定文件,默认状态下可关闭文件。如文件是引用句柄或连线引用句柄输出至其它函数,则LabVIEW认为文件仍在使用,直至它被关闭。

  • istr.png 数据

    数据包含从指定数据类型的文件中读取的数据。依据读取的数据类型和总数的设置,可由字符串、数组、数组簇或簇数组构成。

  • ibool.png 取消

    取消如取消文件对话框则值为TRUE。

    否则,即使函数返回错误,取消的值仍为FALSE。

  • ierrcodeclst.png 错误输出

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

  • 使用“拒绝访问”函数,可确保读取文件时其他用户不能修改该文件。使用“设置文件位置”函数可进行随机访问。

    该函数以只读方式打开文件。如连线函数的引用句柄输出至执行写入操作函数的文件输入端,LabVIEW将返回权限错误。此时,可使用打开/创建/替换文件函数以默认的读取/写入权限打开文件,然后连线引用句柄至执行读取或写入操作的函数。

    范例

    请参考LabVIEW附带的下列范例文件。

    • labview\examples\File IO\Datalog\Datalog File.lvproj
    • labview\examples\File IO\Spreadsheet\Tab-Delimited Data\Tab-Delimited Data.lvproj
    • labview\examples\File IO\Binary\Simple Binary\Simple Binary File.lvproj
    • labview\examples\File IO\Binary\Endian Considerations\Endian Considerations with Binary Files.vi