Bonjour à tous,
Je programme actuellement en c# .net (framework 2) et j'ai un problème pour lire des fichiers ascii.
Je demande votre aide, mais je tiens à préciser que je veux que mon fichier reste un fichier ascii.
Le fichier que je manipule est constitué de la façon suivante :
n1 n2 n3 n4 ... n5 (où les nj sont des float)
Afin d'écrire dans ce fichier, j'utilise le procédé suivant:
Voilà cela fonctionne mais je souhaiterais lire ce même fichier de la même manière.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 System.IO.StreamWriter strEcriture = new System.IO.StreamWriter(FichierDeSauvegarde); strEcriture.WriteLine("{0} {1} {2} {3}",n1,n2,n3,n4);
En c++, on pourrait faireLà en c# .net pour lire cette ligne de fichier, je fais :
Code : Sélectionner tout - Visualiser dans une fenêtre à part fscanf("%d %d %d %d",&n1,&n2,&n3,&n4);
Comme ça je lis une première valeur en recherchant le premier espace trouvé, ensuit je tronque cette première valeur et je réaffecte s ; puis je lis la deuxième valeur et ainsi de suite ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 string s = str.ReadLine(); n1 = Convert.ToSingle(s.Substring(0, s.IndexOf(" "))); s = s.Substring(s.IndexOf(" ") + 1); n2 = Convert.ToSingle(s.Substring(0, s.IndexOf(" "))); s = s.Substring(s.IndexOf(" ") + 1); n3 = Convert.ToSingle(s.Substring(0, s.IndexOf(" "))); s = s.Substring(s.IndexOf(" ") + 1); n4 = Convert.ToSingle(s.Substring(0, s.IndexOf(" ")));
N'y aurait-il pas un moyen plus simple de faire cette opération de lecture un peu lourde alors que je sais qu'en c/c++ il est possible de faire plus simple.
Merci d'avance à tous
et @bientôt
Partager