Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah Saya Boleh Mengeluarkan Integer dengan Cekap daripada Rentetan Dipisahkan Koma dalam C?

Bagaimanakah Saya Boleh Mengeluarkan Integer dengan Cekap daripada Rentetan Dipisahkan Koma dalam C?

Mary-Kate Olsen
Lepaskan: 2024-12-29 10:02:09
asal
707 orang telah melayarinya

How Can I Efficiently Extract Integers from a Comma-Separated String in C  ?

Mengekstrak Data Numerik daripada Rentetan Dibatasi Koma dalam C

Menghuraikan data daripada rentetan yang dipisahkan koma ke dalam tatasusunan berangka memberikan cabaran biasa dalam pengaturcaraan . Untuk kes khusus nombor integer, C menyediakan beberapa pendekatan mudah.

Algoritma Penghuraian Asas:

Satu kaedah mudah melibatkan lelaran melalui aksara rentetan mengikut aksara. Untuk setiap aksara, semak sama ada aksara seterusnya ialah koma. Jika ya, buang koma. Jika tidak, tukar aksara kepada integer dan simpannya dalam tatasusunan.

Menggunakan istringstream:

C Standard Library menawarkan kelas istringstream untuk menghuraikan strim input. Untuk mengekstrak nombor daripada rentetan yang dipisahkan koma, cipta objek istringstream dengan rentetan sebagai input. Kemudian, gunakan operator pengekstrakan strim >> untuk mengekstrak setiap nombor satu demi satu.

Pelaksanaan:

Coretan kod berikut menunjukkan algoritma penghuraian asas menggunakan istringstream:

#include <vector>
#include <string>
#include <sstream>
#include <iostream>

int main()
{
    std::string str = "1,2,3,4,5,6";
    std::vector<int> vect;

    std::stringstream ss(str);

    for (int i; ss >> i;) {
        vect.push_back(i);    
        if (ss.peek() == ',')
            ss.ignore();
    }

    for (std::size_t i = 0; i < vect.size(); i++)
        std::cout << vect[i] << std::endl;

    return 0;
}
Salin selepas log masuk

Pilihan Lain:

Untuk penghuraian yang lebih kompleks senario, Perpustakaan Standard C menyediakan pilihan tambahan, seperti fungsi strtok dan ungkapan biasa. Walau bagaimanapun, untuk senarai integer yang dipisahkan koma mudah, kaedah di atas biasanya mencukupi dan mudah untuk dilaksanakan.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengeluarkan Integer dengan Cekap daripada Rentetan Dipisahkan Koma dalam C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan