Maison >développement back-end >C++ >Comment lire des données numériques à partir d'un fichier texte en C ?

Comment lire des données numériques à partir d'un fichier texte en C ?

DDD
DDDoriginal
2024-11-19 21:18:03635parcourir

How do I read numeric data from a text file in C  ?

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn