Récupérer des données à partir d'un fichier texte et les stocker dans une liste

Résolu
mouchette23
Messages postés
3
Date d'inscription
samedi 15 mars 2008
Statut
Membre
Dernière intervention
8 février 2011
- 7 févr. 2011 à 23:34
mouchette23
Messages postés
3
Date d'inscription
samedi 15 mars 2008
Statut
Membre
Dernière intervention
8 février 2011
- 8 févr. 2011 à 22:38
Bonsoir;
J'ai un fichier texte tel que chaque ligne contient les coordonnées des points du plan(x et y),les x et y d'un meme point sont séparés par des virgules,et ceux de deux points par un point virgule par expemple: 1.2,3.5;1.75,3.05;2.3,3.4. j'aimerai récuperer ces données et les stocker dans une liste chainné qui contient ces points sachant qu'un point est une structure,
public struct point
{ double x, y;
}
j'ai essayé de lire la ligne par Streamreader mais je sais pas comment poursuivre.
est-ce-qu'il ya quelqu'un qui peut m'aider.
Merci

3 réponses

billou_13
Messages postés
860
Date d'inscription
jeudi 4 mars 2004
Statut
Membre
Dernière intervention
19 août 2014
29
8 févr. 2011 à 09:39
Bonjour,

Tout d'abord, si ton fichier n'est pas trop volumineux, tu peux utiliser la méthode StreamReader.ReadToEnd() pour "flusher" le fichier dans un string.

Il te suffit ensuite de jouer avec la méthode [http://msdn.microsoft.com/fr-fr/library/ms131448%28v=vs.80%29.aspx String.Split(char[])] pour extraire tes informations.
string[] points = text.Split(new char[] { ';' });
foreach(string point in points)
{
  string[] xy = point.Split(new char[] { ',' });
  double x = double.Parse(xy[0]);
  double y = double.Parse(xy[1]);
}


Il te faudra certainement jouer sur le format ou le NumberStyles pour bien prendre en compte le format de tes nombres.

Bon développement,

Billou_13

--------------------------------------------------------------------
Connaître la réponse est une chose, savoir pourquoi en est une autre
---------------------
3
BunoCS
Messages postés
15256
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
17 mai 2022
103
8 févr. 2011 à 09:28
Hello,
Tu peux, soit utiliser Split, soit SubString

@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
0
mouchette23
Messages postés
3
Date d'inscription
samedi 15 mars 2008
Statut
Membre
Dernière intervention
8 février 2011

8 févr. 2011 à 22:38
Bonsoir;
Merci bcp pour votre aide j'ai essayé et sa fonctionne
0