med_int nedfscac(med_idt *fid,char *scalaire,med_int *lon1,med_int *data_type, char *desc,med_int *lon2) #endif { med_int ret; med_type_champ typechamp; char *fn1, *fn2; fn1 = _MED2cstring(scalaire, (int) * lon1); fn2 = _MED1cstring(desc, (int) * lon2,MED_TAILLE_DESC); if (!fn1 || !fn2) return(-1); typechamp = (med_type_champ) *data_type; ret = (med_int) MEDscalaireCr( *fid, fn1, typechamp, (char *)fn2); _MEDcstringFree(fn1); _MEDcstringFree(fn2); return (ret); }
int main (int argc, char **argv) { med_err ret; med_idt fid; char nom_scalaire1[MED_TAILLE_NOM+1] = "VariableEntiere"; char description1[MED_TAILLE_DESC+1] = "Une premiere description"; char nom_scalaire2[MED_TAILLE_NOM+1] = "VariableFlottante"; char description2[MED_TAILLE_DESC+1] = "Une seconde description"; med_int vali1 = 56; med_int vali2 = -789; med_float valr1 = 67.98; /* Creation du fichier test21.med */ if ((fid = MEDouvrir("test21.med",MODE_ACCES)) < 0) { MESSAGE("Erreur a la creation du fichier test21.med"); return -1; } /* Creation d'un variable scalaire entiere */ if (MEDscalaireCr(fid,nom_scalaire1,MED_INT,description1) < 0) { MESSAGE("Erreur a la creation d'une variable scalaire entière"); return -1; } printf("Creation d'une variable scalaire entiere \n"); /* Ecriture d'un valeur sans pas de temps et sans numero d'ordre*/ if (MEDscalaireEntierEcr(fid,nom_scalaire1,vali1,MED_NOPDT,"",0.0,MED_NONOR) < 0) { MESSAGE("Erreur a l'ecriture d'une valeur entiere"); return -1; } printf("Ecriture d'une valeur entiere sans pas de temps \n"); /* Ecriture d'une valeur entiere avec 1 pas de temps et sans numero d'ordre */ if (MEDscalaireEntierEcr(fid,nom_scalaire1,vali2,1,"ms",5.5,MED_NONOR) < 0) { MESSAGE("Erreur a l'ecriture d'une valeur entiere"); return -1; } printf("Ecriture d'une valeur entiere avec pas de temps \n"); /* Creation d'un variable scalaire flottante */ if (MEDscalaireCr(fid,nom_scalaire2,MED_FLOAT64,description2) < 0) { MESSAGE("Erreur a la creation d'une variable scalaire flottante"); return -1; } printf("Creation d'une variable scalaire flottante \n"); /* Ecriture d'une valeur reelle avec 1 pas de temps et 1 numero d'ordre */ if (MEDscalaireFlottantEcr(fid,nom_scalaire2,valr1,1,"ms",5.5,2) < 0) { MESSAGE("Erreur a l'ecriture d'une valeur flottante"); return -1; } printf("Ecriture d'une valeur reelle avec pas de temps et numero d'ordre \n"); /* Fermeture du fichier */ if (MEDfermer(fid) < 0) { MESSAGE("Erreur a la fermeture du fichier"); return -1; } return 0; }