Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah saya membaca data berangka daripada fail teks dalam C?

Bagaimanakah saya membaca data berangka daripada fail teks dalam C?

DDD
DDDasal
2024-11-19 21:18:03631semak imbas

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

Baca Data Numerik daripada Fail Teks dalam C

Apabila bekerja dengan data berangka yang disimpan dalam fail teks, adalah penting untuk mengetahui cara mengekstrak dan berikan nombor kepada pembolehubah dalam program C anda. Ini menjadi penting terutamanya apabila berurusan dengan data berformat atau tidak berstruktur yang mungkin mengandungi ruang putih atau berbilang nilai dalam satu baris.

Menetapkan Nombor Pertama kepada Pembolehubah

Menggunakan ifstream untuk membuka fail teks membolehkan anda mengakses aliran data dan membaca nombor pertama. Walau bagaimanapun, untuk membaca nombor berikutnya, anda memerlukan cara untuk melangkau ruang putih yang memisahkannya.

Membaca Berbilang Nombor Menggunakan Gelung

Satu pendekatan untuk membaca berbilang nombor ialah dengan menggunakan pernyataan gelung. Kod berikut menunjukkan cara mengulangi >> operator untuk membaca nombor daripada fail teks sehingga tiada yang tinggal:

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

Membaca Berbilang Nombor Menggunakan Berantai >> Operator

Jika bilangan elemen dalam fail diketahui lebih awal, anda boleh menggunakan >> operator dalam urutan untuk membaca berbilang nombor ke dalam pembolehubah berasingan:

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

Melangkau Nilai dalam Fail

Jika anda perlu melangkau nilai tertentu dalam fail dan membaca hanya nilai tertentu, anda boleh menggunakan gelung untuk memajukan kedudukan fail:

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

Pendekatan Alternatif

Selain teknik yang disebutkan di atas, terdapat pendekatan berasaskan tatasusunan yang boleh digunakan untuk membaca dan menyimpan data berangka. Selain itu, anda boleh mencari kelas dan penyelesaian yang berguna pada platform seperti GitHub untuk memudahkan lagi proses ini.

Atas ialah kandungan terperinci Bagaimanakah saya membaca data berangka daripada fail teks dalam C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn