bonjour.
une question encore sur le thème de l'ouverture de fichier, mais différente de la toute récente sur le forum.
voici le début de mon code pour :
1) ouvrir un fichier (*.txt)
2) transformer les lignes en vecteurs numériques (je souhaite faire des opérations sur les nombres tirés de mon fichier)
mais voilà, mon fichier contient des lignes vides, parfois plusieurs de suite.
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 #include <string> #include <iostream> #include <fstream> #include <vector> #include <sstream> using namespace std; int main() { vector<int>vecteur; // ouverture fichier ifstream data("chemin complet/.../mon_fichier.txt"); // lire les lignes string ligne; while (getline(data, ligne)) // conversion de string à int istringstream iss(ligne);// conversion vers des int ... ... ensuite il suffit de réinjecter le tout dans un vecteur avec push_back et ce sera bien un vecteur de int
mon_fichier.txt :
4.5
4.9
5.1
3.7
2.1
3.1
2.6
5.4
je souhaite faire des calculs sur ma colonne de nombre (par ex : calcul de la moyenne) , recenser le nombre de vides, ou encore réaliser une extrapolation linéaire entre deux nombres séparés par un ou plusieurs vide(s).
en gros, il me faut conserver ces lignes vides et les "marquer".
le problème avec getline, c'est justement qu'il se débarrasse des ligne vides.
quelqu'un voit une solution ? autre chose que getline ?
merci
Partager