Bonjour,
Besoin d'incrémenter un nom de fichier en C mais ça paraît compliqué.
J'ai écris ce bout de code pour illustrer mes propos :
et voici le résultat que j'obtiens :
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
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52 #include <stdio.h> #include <math.h> #include <stdlib.h> #include <string.h> #define size 200 //#define ncorps 10 main () { int k; // indice du corps solide int ncorps; // nombre de corps solides dans mon systeme int compteur; // le compteur int maxcompteur; // nombre max d'itérations int sauv; // fréquence de sauvegarde double dt,temps; double x[size]={0}; // la valeur à calculer et à sauvegarder // pour chaque corps // supposons ici qu'elle est connue FILE*fichier; dt=0.000001; temps=0; ncorps=5; sauv=2; maxcompteur=10; compteur=1; fichier=fopen("resu.dat","w"); do{ if(compteur%sauv==0){ fprintf(fichier,"# iteration n°%d \n",compteur); for(k=1;k<ncorps+1;k++){ x[k]=2.5*k*temps; fprintf(fichier,"%d %lf %lf\n",k,temps,x[k]); } fprintf(fichier,"\n"); } temps+=dt; compteur+=1; }while(compteur<=maxcompteur); fclose(fichier); }
Au lieu d'avoir tout les résultats dans le même fichier tel que montré ci-dessus, j'aimerai écrire dans des fichiers séparés car ( nombre de corps très important). Il faut que j'incrémente le nom de mon fichier comme ceci :
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
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 # iteration n°2 1 0.000001 0.000002 2 0.000001 0.000005 3 0.000001 0.000007 4 0.000001 0.000010 5 0.000001 0.000012 # iteration n°4 1 0.000003 0.000008 2 0.000003 0.000015 3 0.000003 0.000023 4 0.000003 0.000030 5 0.000003 0.000038 # iteration n°6 1 0.000005 0.000012 2 0.000005 0.000025 3 0.000005 0.000037 4 0.000005 0.000050 5 0.000005 0.000063 # iteration n°8 1 0.000007 0.000017 2 0.000007 0.000035 3 0.000007 0.000052 4 0.000007 0.000070 5 0.000007 0.000087 # iteration n°10 1 0.000009 0.000023 2 0.000009 0.000045 3 0.000009 0.000068 4 0.000009 0.000090 5 0.000009 0.000113
J'ai déjà écris ce genre de code mais en langage FORTRAN et en langage C je galère à le faire...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10fichier2.dat fichier4.dat fichier6.dat . . . fichierN.dat N: numéro de l'itération
Voilà si vous avez une idée, merci à vous et bon week-end.
Partager