バイナリファイルから読み取る (事前割り当て)関数
- 更新日2025-07-30
- 9分で読める
Reads binary data from a file and places the data into an array that you have already allocated without incurring a copy of the data. Unlike the Read from Binary File function, this function avoids run-time memory allocations.
この関数のパフォーマンスは、事前に割り当てる配列によって異なります。
コネクタペーンには、この多態性関数のデフォルトのデータタイプが表示されます。

入力/出力
refnum入力
—
refnum入力は、読み取るファイルに関連付けられているファイルrefnumです。
データ入力
—
データ入力は、データを配置する配列を指定します。この関数は、配列が持つことができる最大のデータ要素を読み込みます。この関数がサポートする配列とデータタイプについては、サポート表を参照してください。
バイト順序 (0:ビッグエンディアン、ネットワーク順)
—
バイト順序は、結果として得られるデータのエンディアン形式を設定します。バイト順序 (エンディアン形式) は、整数が最上位のバイトから最下位のバイトへの順序、またはその逆の順序のどちらでメモリ上に配置されるかを示します。関数は、データが書き込まれたバイト順序でデータを読み取らなければなりません。 メモ この関数では、バイト順序パラメータと、LabVIEWを実行しているホストコンピュータのネイティブのバイト順序とを一致させる必要があります。コンピュータがビッグエンディアンの場合は、 native, host order または big-endian, network order> エンディアン形式のいずれかを選択する。コンピュータがリトルエンディアンの場合は、 native, host order または little-endian エンディアン形式を選択する。
エラー入力
—
エラー入力は、このノードを実行する前に発生したエラーの状態を示します。この入力は、標準エラー入力として機能します。
refnum出力
—
refnum出力は、関数が読み取るファイルのrefnumです。この出力は、他のファイル関数に配線できます。
データ出力
—
データ出力には、ファイルから読み取られたデータが含まれます。この出力は、有効なデータのサイズに合わせてサイズ変更されません。データ入力配列が一杯になる前にLabVIEWがファイルの最後に到達すると、配列には無効な要素が含まれることになります。データ出力に入っている有効なデータの数を正確に知るには、読み取られた要素数を使用します。データ入力配列が一杯になる前にLabVIEWがファイルの最後に到達しなかった場合は、次の読み取りが前回読み取り終了時の位置から開始されるように、ファイルポインタの位置がそのまま保持されます。
読み取られた要素数
—
読み取られた要素数は、ファイルのデータにより置き換えられたデータ入力配列内の要素数の合計を返します。
エラー出力
—
エラー出力には、エラー情報が含まれます。この出力は、標準エラー出力として機能します。 |
以下のブロックダイアグラムは、この関数による事前に割り当てられた配列の処理の例を示しています。「バイナリファイルから読み取る (事前割り当て)」関数が実行されるたびに、ファイルから読み取られたデータは同じ配列に配置されます。

バイナリファイルから読み取る (事前割り当て) でのサポート
この関数は、ファイルのデータを配置するために配線した配列に応じて、以下のように異なるレベルのサポートを提供します。
完全サポート。関数は新規の割り当てを必要としないため、この関数は「バイナリファイルから読み取る」関数よりもおそらく速くなります。
サポートされる。関数は新規の割り当てとコピーを必要とするため、この関数は「バイナリファイルから読み取る」関数よりもおそらく遅くなります。
ファンクションが受け付けない。
以下の表は、データ入力に特定の配列、または特定のデータタイプを含む配列スライスを配線した場合のサポートレベルを表しています。
| データタイプ | 配列 | 隣接する配列スライス | 隣接しない配列スライス1 |
|---|---|---|---|
| 整数 | ![]() | ![]() | ![]() |
| 単精度浮動小数点数 | ![]() | ![]() | ![]() |
| 倍精度浮動小数点数 | ![]() | ![]() | ![]() |
| 拡張精度、浮動小数点数値²。 | ![]() | ![]() | ![]() |
| 複素単精度浮動小数点数 | ![]() | ![]() | ![]() |
| 複素倍精度浮動小数点数 | ![]() | ![]() | ![]() |
| 複素拡張精度浮動小数点数値²。 | ![]() | ![]() | ![]() |
| 固定小数点数値²。 | ![]() | ![]() | ![]() |
| ブール | ![]() | ![]() | ![]() |
| 文字列 | ![]() | ![]() | ![]() |
| その他のすべてのデータタイプ | ![]() | ![]() | ![]() |
- LabVIEWは隣接しない配列スライスのメモリコピーを作成する必要があります。このため、隣接しない配列スライスをデータ入力に配線した場合、「バイナリファイルから読み取る (事前割り当て)」関数は「バイナリファイルから読み取る」関数より速くはなりません。
- 「バイナリファイルから読み取る (事前割り当て)」関数は、拡張精度、拡張精度複素数、および固定小数点データを受け入れます。しかし、この関数は、バイナリファイルからの読み込み関数のように、これらのデータ型で新しいコピーのためのメモリを確保する。
また、この関数は、表中の各データタイプを、配列に格納されていないスカラ値として完全にサポートします。
refnum入力
—
データ入力
—
バイト順序 (0:ビッグエンディアン、ネットワーク順)
—
エラー入力
—
refnum出力
—
データ出力
—
読み取られた要素数
—
エラー出力
—