Bonjour,

Je travaille sur des fichiers de mesures météorologiques, et dois ouvrir chaque fichier en lecture puis écrire dans d'autres fichiers à partir des données du premier. Seulement, le nombre de fichiers est assez important (200/année sur 4 ans soit près de 800) j'aimerais savoir comment faire pour stocker l'ensemble des noms des fichiers du dossier dans un tableau de strings afin de généraliser le traitement à l'ensemble des fichiers par simple incrémentation du tableau. Ci-dessous le code permettant de réaliser le traitement (exctraction des colonnes 3,4,5 et 6 d'un fichier de données séparées par des espaces exemple : 12.5 115 136.2 1236)

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
#include <iostream>
#include <string>
#include <fstream>
 
 
using namespace std;
 
int main()
{
 
 
	ifstream fichier0("fichier0609_12", ios::in);
	ofstream fichier1("fichier0609_12", ios::out);
	ofstream fichier2("fichier0609_12", ios::out);
	ofstream fichier3("fichier0609_12", ios::out);
	ofstream fichier4("fichier0609_12", ios::out);
 
	if(fichier0 && fichier1 && fichier2 && fichier3 && fichier4)
	{
		string ligne;
		double doublea,doubleb,doublec,doubled,doublee,doublef;
		//la premiere ligne n'apparaissait pas dans les nouveaux fichier, les 5 lignes qui suivent servent uniquement à résoudre ce problème
			fichier0 >> doublea >> doubleb >> doublec >> doubled >> doublee >> doublef;
			fichier1 << doublec << endl;
			fichier2 << doubled << endl;
			fichier3 << doublee << endl;
			fichier4 << doublef << endl;
        	while(getline(fichier0, ligne))
		{
			double double1, double2, double3, double4, double5, double6;
 
			fichier0 >> double1 >> double2 >> double3 >> double4 >> double5 >> double6; //lecture de l'ensemble des colonne
			fichier1 << double3 << endl;//ecriture de chaque colonne dans un fichier different
			fichier2 << double4 << endl;
			fichier3 << double5 << endl;
			fichier4 << double6 << endl;
		}
		fichier0.close();
		fichier1.close();
		fichier2.close();
		fichier3.close();
		fichier4.close();
	}
	else
		cerr<<"Impossible d'ouvrir le fichier!"<<endl;
 
	return 0;
}
Merci d'avance!