Bonjour,
Je cherche à adapter à Fortran une bibliothèque que j'ai écrite en C.
J'ai le problème suivant : je dois adapter la fonction suivante
cette fonction permet d'écrire dans un fichier un tableau caractérisé par un nom, un nombre de dimensions, la taille suivant chaque dimension (sizes est supposé être un tableau ayant autant d'éléments qu'il y a de dimensions), data est le pointeur sur les données.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 int my_write(const char* name, int dimensions, uint64_t* sizes, void* data)
Un exemple d'utilisation en C :
Je sais déjà que pour adapter une fonction prenant en paramètre une chaîne de caractères, il faut ajouter en argument la taille de cette chaîne, à la fin, mais pour les tableaux (notamment pour sizes) je ne sais pas comment faire...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 char name[] = "mytab"; int data[2][2] = {{1,2},{3,4}}; uint64_t size[] = {2*sizeof(int),2*sizeof(int)}; my_write(name,2,size,data);
Voici l'équivalent Fortran que j'aimerai être capable de faire :
Comment faire ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 integer*8, dimension(2) sizes integer, dimension(2,2) data character name*32 integer ierr name = "mytab" data(1,1) = 1 data(1,2) = 2 data(2,1) = 3 data(2,2) = 4 sizes(1) = 4 sizes(2) = 4 call my_write(name,2,sizes,data,ierr)
Partager