Lire des données numériques à partir d'un fichier texte en C
Lorsque vous travaillez avec des données numériques stockées dans des fichiers texte, il est crucial de savoir comment extraire et attribuez les nombres aux variables de votre programme C. Cela devient particulièrement important lorsqu'il s'agit de données formatées ou non structurées pouvant contenir des espaces ou plusieurs valeurs sur une seule ligne.
Attribuer le premier nombre à une variable
Utiliser ifstream pour ouvrir le fichier texte permet d'accéder au flux de données et de lire le premier numéro. Cependant, pour lire les nombres suivants, vous avez besoin d'un moyen d'ignorer l'espace blanc qui les sépare.
Lecture de plusieurs nombres à l'aide d'une boucle
Une approche pour lire plusieurs nombres est en utilisant des instructions de boucle. Le code suivant montre comment répéter l'opération >> opérateur pour lire les nombres d'un fichier texte jusqu'à ce qu'il n'en reste plus :
#include <iostream> #include <fstream> using namespace std; int main() { std::fstream myfile("data.txt", std::ios_base::in); float a; while (myfile >> a) { printf("%f ", a); } getchar(); return 0; }
Lecture de plusieurs nombres à l'aide de Chained >> Opérateur
Si le nombre d'éléments du fichier est connu à l'avance, vous pouvez utiliser l'option >> opérateur en séquence pour lire plusieurs nombres dans des variables distinctes :
#include <iostream> #include <fstream> using namespace std; int main() { std::fstream myfile("data.txt", std::ios_base::in); float a, b, c, d, e, f; myfile >> a >> b >> c >> d >> e >> f; printf("%f\t%f\t%f\t%f\t%f\t%f\n", a, b, c, d, e, f); getchar(); return 0; }
Sauter les valeurs dans le fichier
Si vous devez ignorer des valeurs spécifiques dans le fichier et lire uniquement un valeur particulière, vous pouvez utiliser une boucle pour avancer la position du fichier :
int skipped = 1233; for (int i = 0; i < skipped; i++) { float tmp; myfile >> tmp; } myfile >> value;
Approches alternatives
Outre les techniques susmentionnées, il existe une approche basée sur des tableaux qui peut être utilisé pour lire et stocker les données numériques. De plus, vous pouvez trouver des cours et des solutions utiles sur des plateformes comme GitHub pour simplifier davantage ce processus.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!