MED fichier: Créer/Ouvrir/Fermer un fichier MED

MED fichier

- Documentation MED
- Guides d'utilisation
- Guides de référence

Créer/Ouvrir/Fermer un fichier MED

# Ouverture/Création d'un fichier MED

L'ouverture/création d'un fichier MED s'effectue avec la routine MEDfileOpen (C) / mfiope (F).

Cette routine renvoie un identificateur ( `fid` ) utilisé par les autres routines de l'API pour accéder aux données du fichier.

Les différents modes d'accès possibles sont :

- Création (MED_ACC_CREAT)

- Ouverture en lecture seule (MED_ACC_RDONLY)

- Ouverture en lecture/écriture (MED_ACC_RDWR)

- Ouverture en lecture/écriture avec ajout (MED_ACC_RDEXT)

Dans ce dernier mode, l'écriture n'est possible que pour ajouter dans le fichier de nouvelles données (une erreur est générée si la donnée existe déjà).

fid = MEDfileOpen("test1.med",MODE_ACCES);
Fichier d'exemple associé

# Fermeture d'un fichier MED

La routine MEDfileClose (C) / mficlo (F) permet de fermer un fichier.

if ((ret = MEDfileClose(fid)) < 0) {
MESSAGE("Erreur à la fermeture du fichier");
return -1;
}
Fichier d'exemple associé

# Entête de fichier

La routine MEDfileCommentWr (C) / mficow (F) permet l'écriture d'un en-tête de fichier, la routine MEDfileCommentRd (C) / mficor (F) la lecture.

Cet en-tête à usage optionnel est purement descriptif. Il comporte au plus MED_COMMENT_SIZE caractères.

char des[MED_COMMENT_SIZE+1]="Ceci est une courte description de mon fichier test1.med";
if (MEDfileCommentWr(fid,des) < 0) {
MESSAGE("Erreur à l'ecriture de l'en-tete du fichier");
ret = -1;
}
Fichier d'exemple associé
char des[MED_COMMENT_SIZE+1]="";
ret = MEDfileCommentRd(fid, des);
Fichier d'exemple associé

# Compatibilité entre la version du fichier et la version de la bibliothèque

La routine MEDfileCompatibility / mficom permet de vérifier :

- Si le fichier est au format HDF5

- S'il correspond à un fichier MED compatible avec la bibliothèque.

L'appel à cette routine se fait généralement avant l'ouverture du fichier.

med_bool hdfok=MED_FALSE,medok=MED_FALSE;
if (MEDfileCompatibility("test18.med",&hdfok,&medok)<0 ) {
MESSAGE("Erreur à la vérification de la compatibilité du fichier avec les bibliothèques med et hdf.");
return -1;
}
Fichier d'exemple associé

# Lecture de la version du fichier

Les routines MEDfileNumVersionRd / mfinvr et MEDfileStrVersionRd / mfisvr lisent la version de la bibliothèque MED utilisée à la création du fichier.

- MEDfileNumVersionRd / mfinvr lit la version sous forme de trois scalaire majeur,mineur,release

  med_int majeur=0, mineur=0, release=0;
  if (MEDfileNumVersionRd(fid, &majeur, &mineur, &release) < 0) {
  MESSAGE("Erreur a la lecture du numero de version de la bibliothèque ");
  return -1;
  }
  fprintf(stdout,"- Ce fichier a ete cree avec MED "IFORMAT"."IFORMAT"."IFORMAT" \n",majeur,mineur,release);
  Fichier d'exemple associé

- MEDfileStrVersionRd / mfisvr lit la version sous forme de chaîne de caractère

  char medversion[MED_SNAME_SIZE+1]="";
  if ( MEDfileStrVersionRd(fid, medversion) < 0 ) {
  MESSAGE("Erreur à la lecture de la version du fichier MED");
  return -1;
  }
  fprintf(stdout,"- Ce fichier a ete cree avec %s\n",medversion);
  Fichier d'exemple associé

# Liens vers les fichiers exemples utilisés

- Fichier d'exemple test1.c

- Fichier d'exemple test2.c

- Fichier d'exemple test18.c