Heim >Backend-Entwicklung >C++ >Wie lese ich numerische Daten aus einer Textdatei in C?

Wie lese ich numerische Daten aus einer Textdatei in C?

DDD
DDDOriginal
2024-11-19 21:18:03636Durchsuche

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

Numerische Daten aus einer Textdatei in C lesen

Bei der Arbeit mit numerischen Daten, die in Textdateien gespeichert sind, ist es wichtig zu wissen, wie man sie extrahiert und weisen Sie die Zahlen Variablen in Ihrem C-Programm zu. Dies ist besonders wichtig, wenn Sie mit formatierten oder unstrukturierten Daten arbeiten, die Leerzeichen oder mehrere Werte in einer einzelnen Zeile enthalten können.

Erste Zahl einer Variablen zuweisen

Verwenden von ifstream zum Öffnen Mit der Textdatei können Sie auf den Datenstrom zugreifen und die erste Zahl lesen. Um nachfolgende Zahlen lesen zu können, benötigen Sie jedoch eine Möglichkeit, den Leerraum zu überspringen, der sie trennt.

Mehrere Zahlen mithilfe einer Schleife lesen

Ein Ansatz zum Lesen mehrerer Zahlen ist durch die Verwendung von Schleifenanweisungen. Der folgende Code zeigt, wie der Befehl >> wiederholt wird. Operator zum Lesen von Zahlen aus einer Textdatei, bis keine mehr übrig sind:

#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;
}

Mehrere Zahlen mit Chained lesen >> Operator

Wenn die Anzahl der Elemente in der Datei im Voraus bekannt ist, können Sie den >>-Operator verwenden. Operator nacheinander, um mehrere Zahlen in separate Variablen einzulesen:

#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;
}

Werte in der Datei überspringen

Wenn Sie bestimmte Werte in der Datei überspringen und nur a lesen müssen Wenn Sie einen bestimmten Wert angeben, können Sie eine Schleife verwenden, um die Dateiposition voranzutreiben:

int skipped = 1233;
for (int i = 0; i < skipped; i++)
{
    float tmp;
    myfile >> tmp;
}
myfile >> value;

Alternative Ansätze

Neben den oben genannten Techniken gibt es einen Array-basierten Ansatz, der kann zum Auslesen und Speichern der numerischen Daten verwendet werden. Darüber hinaus finden Sie auf Plattformen wie GitHub nützliche Klassen und Lösungen, um diesen Prozess weiter zu vereinfachen.

Das obige ist der detaillierte Inhalt vonWie lese ich numerische Daten aus einer Textdatei in C?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn