Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Lecture d'un fichier

2 réponses
Avatar
most
salut

struct entete
{
UInt16 Signature;
UInt32 Size;
}

j'ai un fichier que j'aimerai lire et qui comporte une entete. J'aimerai savoir si il est possible
de lire directement le contenu de l'entete en utilisant ma structure entete, ou si je suis obligé de
lire d'abord ma signature avec lecture d'un entier de 16 et après une lecture d'un entier de 32 dans
mon fichier.

thanks

2 réponses

Avatar
Lemming
Il faudra lire l'entête à la main, et mettre les données lues dans ta
structure. Il n'y a pas de méthode permettant de lire un fichier en
fournissant une entête prédéfinie à remplir.

Luc

"most" a écrit :

salut

struct entete
{
UInt16 Signature;
UInt32 Size;
}

j'ai un fichier que j'aimerai lire et qui comporte une entete. J'aimerai savoir si il est possible
de lire directement le contenu de l'entete en utilisant ma structure entete, ou si je suis obligé de
lire d'abord ma signature avec lecture d'un entier de 16 et après une lecture d'un entier de 32 dans
mon fichier.

thanks



Avatar
Gilles TOURREAU
Le Thu, 16 Aug 2007 12:13:48 +0200, most a écrit:

salut

struct entete
{
UInt16 Signature;
UInt32 Size;
}

j'ai un fichier que j'aimerai lire et qui comporte une entete. J'aimerai
savoir si il est possible de lire directement le contenu de l'entete en
utilisant ma structure entete, ou si je suis obligé de lire d'abord ma
signature avec lecture d'un entier de 16 et après une lecture d'un
entier de 32 dans mon fichier.

thanks



Il faut mieux faire cela "à la main", sinon il faut utiliser une
gymanistique particulière qui est l'utilisation d'un GCHandle pour créer
une structure à partir d'un tableau d'octets...

Je vous conseille donc (pour faire propre) de créer une classe qui gère un
BinaryReader (privée dans la classe) et d'ajouter une méthode
ReadEntete(), ReadEnregistrement()...etc Ces méthodes faisant appelle aux
méthodes (ReadInt(), ReadString()...etc) de votre BinaryReader. (Pensez à
insulter l'utilisateur via des exceptions, si l'ordre des appels de
ReadEntete() et ReadEnregistrement() est incorrect...

Cordialement

--
Gilles TOURREAU


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr