med_int nmfifsvr(const med_idt const *fid, char* const medversion, const med_int const *len) #endif { med_int _ret; char _fs1[20]=""; _ret = (med_int) MEDfileStrVersionRd(*fid, _fs1); _MEDc2fString(_fs1,medversion,*len); return(_ret); }
int main (int argc, char **argv) { med_idt fid=0; med_int majeur=0, mineur=0, release=0; med_bool hdfok=MED_FALSE,medok=MED_FALSE; char medversion[MED_SNAME_SIZE+1]=""; /* Creation du fichier test18.med */ if ((fid = MEDfileOpen("test18.med",MODE_ACCES)) < 0) { MESSAGE("Erreur a la creation du fichier test18.med"); return -1; } fprintf(stdout,"- Creation du fichier test18.med \n"); if (MEDfileClose(fid) < 0) { MESSAGE("Erreur a la fermeture du fichier"); return -1; } fprintf(stdout,"- Fermeture du fichier \n"); /* * Quelle version de la bibliotheque MED est utilisee ? */ MEDlibraryNumVersion(&majeur, &mineur, &release); fprintf(stdout,"- Version de MED utilisee pour lire le fichier : "IFORMAT"."IFORMAT"."IFORMAT" \n",majeur,mineur,release); /* * Le fichier à lire est-il au bon format de fichier HDF ? */ 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; } if ( hdfok ) fprintf(stdout,"- Format HDF du fichier MED conforme au format HDF utilise par la bibliotheque \n"); else fprintf(stdout,"- Format HDF du fichier MED non conforme au format HDF utilise par la bibliotheque \n"); /* * Le fichier a lire a-t-il été créé avec une version de la bibliothèque MED conforme avec celle utilise ? * (Numéros majeur et mineur identiques). */ if ( medok) fprintf(stdout,"- Version MED du fichier conforme a la bibliotheque MED utilisee \n"); else fprintf(stdout,"- Version MED du fichier non conforme a la bibliotheque MED utilisee \n"); if ((fid = MEDfileOpen("test18.med",MED_ACC_RDONLY)) < 0) { MESSAGE("Erreur a l'ouverture du fichier test18.med"); return -1; } fprintf(stdout,"- Ouverture du fichier en lecture \n"); /* * Une fois le fichier ouvert on peut avoir acces au numero de version complet */ 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); 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); if (MEDfileClose(fid) < 0) { MESSAGE("Erreur a la fermeture du fichier"); return -1; } fprintf(stdout,"- Fermeture du fichier \n"); return 0; }