Bonjour,
j'ai un fichier de paramètres dépendant du temps pour un programme qui est sous format CSV.
Ce fichier se présente sous la forme suivante:
Colonnes:
la variable temporelle en colonne. Il ya 480 mois (40 ans) => 480 colonnes
Lignes:
PLus de 1000 lignes. Chacune de ces lignes correspond à une simulation bien précise. Ces lignes sont ordonnées (plus petite simul vers la plus grande)
La première colonne reprend le numéro de la simulation.
J'aimerais faire qqch du style:
Le code (que j'ai retapé de mémoire ) fonctionne, mais le problème est que si le n° de simulation est dans le début du fichier, j'arrive à la fonction doSomething() (forcément) assez vite, par contre si la simulation est très loin dans le fichier, ca prend bcp de temps (une seconde contre qqs millisecondes).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 int lastSimulation = 1000; for (int i = 1; i<= lastSimulation; i++){ std::ifstream fichier( "fichier.txt" ); if ( fichier ) { std::string ligne; while ( std::getline( fichier, ligne ) ) { if( on est sur la ligne correspondant au compteur i) doSomething(); } } }
Le temps étant très important pour moi, avez vous une idée pour acceder à une ligne particulière plus rapidement?
Merci bcp
David
Partager