MEDfieldnComponentByName.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.h>
00020 #include <med_config.h>
00021 #include <string.h>
00022 #include <stdlib.h>
00023 #include <med_outils.h>
00024
00033 med_int
00034 MEDfieldnComponentByName(const med_idt fid, const char * const fieldname)
00035 {
00036
00037 med_err _ret =-1;
00038 med_idt _datagroup=0;
00039 char _datagroupname[MED_NAME_SIZE+1]="";
00040 char _path [MED_TAILLE_CHA+MED_NAME_SIZE+1]=MED_CHA;
00041 med_int _n;
00042
00043
00044
00045
00046 _MEDmodeErreurVerrouiller();
00047
00048
00049 strcat(_path,fieldname);
00050
00051
00052
00053 if ((_datagroup = _MEDdatagroupOuvrir(fid,_path)) < 0) {
00054 MED_ERR_(_ret,MED_ERR_OPEN,MED_ERR_DATAGROUP,_path);
00055 goto ERROR;
00056 }
00057 if ( _MEDattrEntierLire(_datagroup,MED_NOM_NCO,&_n) < 0) {
00058 MED_ERR_(_ret,MED_ERR_READ,MED_ERR_ATTRIBUTE,MED_NOM_NCO);
00059 SSCRUTE(_path);goto ERROR;
00060 }
00061 if (_MEDdatagroupFermer(_datagroup) < 0) {
00062 MED_ERR_(_ret,MED_ERR_CLOSE,MED_ERR_DATAGROUP,_path);
00063 goto ERROR;
00064 }
00065
00066 _ret = (med_int) _n;
00067 ERROR:
00068 return _ret;
00069 }
00070