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 15472 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 25 mars 2024 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
Rejoignez-nous