MEDchampInfo.c
Aller à la documentation de ce fichier.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #include "med_config.h"
00020 #include <med.h>
00021 #include "med_outils.h"
00022 #include <string.h>
00023
00024 med_err MEDchampInfo(med_idt fid,int indice,char *champ,
00025 med_type_champ *type,char *comp,char *unit,
00026 med_int ncomp)
00027 {
00028 med_err ret=0;
00029 med_idt gid;
00030 char chemin[MED_TAILLE_CHA+MED_TAILLE_NOM+1];
00031 int num;
00032 med_int typechamp;
00033
00034
00035
00036
00037 _MEDmodeErreurVerrouiller();
00038 if (MEDcheckVersion(fid) < 0) return -1;
00039
00040
00041
00042
00043
00044 num = indice - 1;
00045 strcpy(chemin,MED_CHA);
00046 if ((ret = _MEDobjetIdentifier(fid,chemin,num,champ)) < 0)
00047 return -1;
00048
00049
00050
00051
00052 strcat(chemin,champ);
00053 if ((gid = _MEDdatagroupOuvrir(fid,chemin)) < 0)
00054 return -1;
00055
00056
00057
00058
00059
00060 if ((ret = _MEDattrEntierLire(gid,MED_NOM_TYP,&typechamp)) < 0)
00061 return -1;
00062 *type = (med_type_champ) (typechamp);
00063
00064 if ((ret = _MEDattrStringLire(gid,MED_NOM_NOM,ncomp*MED_TAILLE_PNOM,
00065 comp)) < 0)
00066 return -1;
00067 if ((ret = _MEDattrStringLire(gid,MED_NOM_UNI,ncomp*MED_TAILLE_PNOM,
00068 unit)) < 0)
00069 return -1;
00070
00071
00072
00073
00074 if ((ret = _MEDdatagroupFermer(gid)) < 0)
00075 return -1;
00076
00077 return 0;
00078 }