Maison > développement back-end > C++ > le corps du texte

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

DDD
Libérer: 2024-11-19 21:18:03
original
602 Les gens l'ont consulté

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;
}
Copier après la connexion

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;
}
Copier après la connexion

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;
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal