Remplir un vecteur à partir d'un fichier texte

Signaler
Messages postés
6
Date d'inscription
jeudi 8 novembre 2007
Statut
Membre
Dernière intervention
17 avril 2010
-
Messages postés
3833
Date d'inscription
dimanche 12 décembre 2004
Statut
Modérateur
Dernière intervention
11 juin 2021
-
Bonjour,

Je vous explique mon problème: j'ai un fichier texte contenant trois colonnes séparées par des espaces: une pour les inndices des villes, une pour leurs abscisses et une pour leurs ordonnées.Je désire mettres les abscisses dans un vecteur et les ordonnées dans un vecteur.
J'ai essayé ce code mais ça marche pas:
float v[],
nom_fich = fopen(fich_nom, "r");
fscanf(nom_fich,"%d",&x);
v.push_back (x);


Je vous remercie d'avance...

2 réponses

Messages postés
20
Date d'inscription
mardi 14 octobre 2008
Statut
Membre
Dernière intervention
21 janvier 2011

Je pense que tu dois déclarer ce vecteur avant de l'utiliser.

float v[];

(t'as du oublié le ;)
N'est pas un vecteur... C'est un simple tableau de float

Pour declarer un vecteur tu dois faire :

std::vector<float> v;

et ensuite faire un push_back(x); dessus.

J'espère que mon aide t'a été bénéfique vu que j'ai connu l'existence et la méthode d'utilisation des vecteurs qu'hier.
Messages postés
3833
Date d'inscription
dimanche 12 décembre 2004
Statut
Modérateur
Dernière intervention
11 juin 2021
122
C'est mal partit tu mélanges C et C++ !

Ce n'est pas compliqué, tu utilises l'opérateur de lecture de std::ofstream, et tu stockes dans un vecteur.
Ca devrait donner, de tête (attention non testé !):

std::vector<float> tab;
std::ofstream file("nom fichier");
while (file)
{
  float x, y, z;
  file >> x >> y >> z;
  tab.push_back(x);
  tab.push_back(y);
  tab.push_back(z);
}
file.close();


_____________________________________________
Historique de mes créations, et quelques articles:[ http://0217021.free.fr/portfolio
http://0217021.free.fr/portfolio]