Traiter un fichier txt en C++

jhoncoke Messages postés 35 Date d'inscription   Statut Membre Dernière intervention   -  
jhoncoke Messages postés 35 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'ai un fichier txt contenant 4 colonnes de chiffre. J'aimerai récuperer les 2 premières colonnes pour les traiter élément par élement et puis mettre le output dans un autre fichier.

Comment je peux faire? Surtout pour le choix des colonnes .

Merci :)

A voir également:

4 réponses

Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
cut -f 1-2 FILE
permet de récupérer les deux première colonnes (comme je vois que tu es sous linux).
sinon, si ton fichier est si bien organiser, utilise fscanf ou cin :
double col_1,col_2,bidon;
cin>>colo_1>>col_2>>bidon>>bidon;
//traitement de col_1 et col_2
1
scaravenger Messages postés 2685 Date d'inscription   Statut Membre Dernière intervention   617
 
tiens compte du ou des caractères séparateurs de colonnes(espace, tabulation,...)
0
jhoncoke Messages postés 35 Date d'inscription   Statut Membre Dernière intervention  
 
Salut,
J'ai essayer de les stocker dans un "vector". J'ai défini 4 vector float.
Mais j'ai plein d'erreurs. J'ai essayer cin>>colo1>>colo2>>colo3>>colo4
vector<float> colo1;
vector<float> colo2;
vector<float> colo3;
vector<float> colo4;

while (getline)

{
cin>>colo1>>colo2>>colo3>>colo4;
}
0
Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
ba oui, forcément, tu ne respectes pas l'utilisation...
Déjà, il faut un minimum préciser la dimension tout ça.
"while(getline)" ça fonctionne ça ?
Il faut traiter le flux du fichier vers des variables temporaires puis utiliser push_back pour les mettre dans les vector.
Que veux tu faire comme traitement des colonnes ? Que contiennent elles ?
0
jhoncoke Messages postés 35 Date d'inscription   Statut Membre Dernière intervention  
 
Pour faire simple, j'ai un fichier avec quatre colonnes (longitude, latitude, altitude et vitesse de deplacement d'un vehicule)

Je voudrais traiter la longitude et la latitude pour pouvoir calculer la distance parcouru et par après établir un profil de vitesse (vitesse, trajet).
0
Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
OK. Pourquoi faire ça en C++.
Je te conseillerai un outils gratuit et puissant : Octave (ou scilab si tu préfère)
le programme donnerai ça :
load FILE;
latitude=FILE(:,2);
longitude = FILE(:,1);
latitude et longitude son alors deux vecteur contenant tes données.
0
jhoncoke Messages postés 35 Date d'inscription   Statut Membre Dernière intervention  
 
Je suis totalement d'accord avec toi! Sauf que je suis obligé de le faire en C++, je n'ai pas le choix! :s
0