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.

Les performances de cette fonction dépendent du tableau que vous préallouez.

Le connecteur affiche les types de données par défaut de cette fonction polymorphe.


icon

Entrées/Sorties

  • cbsrn.png refnum en entrée

    refnum en entrée spécifie le refnum de fichier associé au fichier que vous souhaitez lire.

  • c1ddbl.png données en entrée

    données en entrée spécifie le tableau en entrée dans lequel placer les données. Cette fonction essaie de lire tous les éléments de données du tableau. Reportez-vous au tableau de support pour en savoir plus sur les tableaux et les types de données supportés par cette fonction.

  • cenum.png ordre des octets (0 : big-Endian, network order)

    ordre des octets définit le format Endian des données résultantes. L'ordre des octets, ou format Endian, indique si les entiers sont représentés en mémoire de l'octet de poids fort à celui de poids faible ou vice-versa. La fonction doit lire les données dans l'ordre des octets correspondant à l'ordre d'écriture des données.

    Remarque Pour cette fonction, vous devez définir le paramètre ordre des octets pour qu'il corresponde à l'ordre des octets natif de l'ordinateur hôte qui exécute LabVIEW. Si l'ordinateur est big endian, choisissez native, host order ou big-endian, network order> endian form. Si l'ordinateur est de type little endian, choisissez la forme native, host order ou little-endian endian.
    0big-endian, network order (valeur par défaut) — L'octet de poids fort occupe l'adresse mémoire la plus basse. Ce format Endian est utilisé sur les plate-formes PowerPC telles que VxWorks. Ce format Endian est également utilisé lors de la lecture de données écrites sur une plate-forme différente.
    1native, host order— Utilise le format d'ordre des octets de l'ordinateur hôte. Ce format Endian accélère les lectures et les écritures.
    2little-endian— L'octet de poids le plus faible occupe l'adresse mémoire la plus basse. Ce format Endian est utilisé sous Windows, macOS et Linux.
  • cerrcodeclst.png entrée d'erreur

    entrée d'erreur décrit les conditions d'erreur qui ont lieu avant l'exécution de ce nœud. Cette entrée fournit la fonctionnalité entrée d'erreur standard.

  • ibsrn.png refnum en sortie

    refnum en sortie est le refnum du fichier que la fonction a lu. Vous pouvez câbler cette sortie à une autre fonction de fichier.

  • i1ddbl.png données en sortie

    données en sortie contient les données lues à partir du fichier. Cette sortie n'est pas redimensionnable pour n'inclure que les données valides. Si LabVIEW atteint la fin du fichier avant que le tableau données en entrée soit plein, le tableau contient des éléments non valides. Utilisez la sortie nb d'éléments lus pour déterminer la quantité exacte de données valides dans données en sortie. Si LabVIEW n'atteint pas la fin du fichier avant que le tableau données en entrée soit plein, il laisse le pointeur du fichier là où la lecture s'est terminée pour que la prochaine lecture commence là.

  • ii32.png nb d'éléments lus

    nb d'éléments lus renvoie le nombre total d'éléments du tableau données en entrée remplacés par les données du fichier.

  • ierrcodeclst.png sortie d'erreur

    sortie d'erreur contient des informations sur l'erreur. Cette sortie fournit la fonctionnalité sortie d'erreur standard.

  • Le diagramme suivant est un exemple du fonctionnement de cette fonction avec un tableau pré-alloué. À chaque fois que la fonction Lire un fichier binaire avec préallocation s'exécute, LabVIEW place les données du fichier dans le même tableau.

    Support de Lire un fichier binaire avec préallocation

    Cette fonction fournit différents niveaux de support pour les tableaux que vous câblez pour recevoir les données du fichier :

    Entièrement pris en charge. Comme cette fonction ne requiert pas de nouvelle allocation, elle est probablement plus rapide que la fonction Lire un fichier binaire.

    Soutenu par l'État. Comme cette fonction requiert une nouvelle allocation et une nouvelle copie, elle est probablement plus lente que la fonction Lire un fichier binaire.

    Non accepté par la fonction.

    Le tableau suivant décrit le support fourni lorsque le tableau que vous câblez à données en entrée est un tableau spécifique ou une tranche de tableau qui contient un type de données particulier.

    Type de donnéesTableauTranche de tableau contiguëTranche de tableau non contiguë1
    Entiers
    Nombre à virgule flottante, simple précision
    Nombre à virgule flottante, double précision
    Précision étendue, virgule flottante numérique²
    Nombre complexe à virgule flottante, simple précision
    Nombre complexe à virgule flottante, double précision
    Numérique complexe à précision étendue, à virgule flottante²
    Numérique à virgule fixe²
    Booléen
    Chaîne
    Tous les autres types de données
    Remarque
    1. LabVIEW doit faire une copie en mémoire d'une tranche de tableau non contiguë. Par conséquent, la fonction Lire un fichier binaire avec préallocation n'est pas plus rapide que la fonction Lire un fichier binaire si vous câblez une tranche de tableau non contiguë à données en entrée.
    2. La fonction Lire un fichier binaire avec préallocation accepte les données à précision étendue, complexes ou non, et les données à virgule fixe. Cependant, cette fonction alloue de la mémoire pour une nouvelle copie avec ces types de données, comme la fonction Read from Binary File, parce qu'elle ne peut pas placer les données dans une allocation existante.

    Cette fonction supporte aussi pleinement tous les types de données mentionnés dans le tableau comme valeurs scalaires ne se trouvant pas dans des tableaux.