Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Menggunakan Stringstream untuk Memisahkan Rentetan Dipisahkan Koma dalam C ?

Bagaimanakah Saya Boleh Menggunakan Stringstream untuk Memisahkan Rentetan Dipisahkan Koma dalam C ?

Barbara Streisand
Barbara Streisandasal
2024-12-04 07:21:12760semak imbas

How Can I Use Stringstream to Split Comma-Separated Strings in C  ?

Memisahkan Rentetan Dipisahkan Koma Menggunakan Aliran Rentetan

Dalam C , aliran rentetan ialah aliran yang beroperasi pada objek rentetan. Ia boleh digunakan untuk membaca daripada atau menulis kepada rentetan. Satu kes penggunaan biasa bagi aliran rentetan ialah membahagikan rentetan kepada token.

Menggunakan Aliran Rentetan untuk Mengasingkan Rentetan dengan Koma

Pengendali aliran rentetan standard, seperti > > operator, boleh digunakan untuk memisahkan rentetan dengan ruang putih. Walau bagaimanapun, ia tidak boleh digunakan untuk memisahkan rentetan oleh pembatas lain, seperti koma. Untuk mengatasi had ini, pendekatan alternatif boleh digunakan.

Fungsi getline() kelas istringstream boleh digunakan untuk membaca baris daripada aliran rentetan sehingga pembatas ditemui. Dengan menentukan koma (',') sebagai pembatas dalam fungsi getline(), adalah mungkin untuk memisahkan rentetan input kepada token yang dipisahkan dengan koma.

Contoh

Kod berikut menunjukkan cara menggunakan aliran rentetan untuk memisahkan dipisahkan koma rentetan:

#include <iostream>
#include <sstream>

std::string input = "abc,def,ghi";
std::istringstream ss(input);
std::string token;

while(std::getline(ss, token, ',')) {
    std::cout << token << '\n';
}

Kod ini akan menghasilkan output berikut:

abc
def
ghi

Menggunakan fungsi getline() dengan pembatas yang ditentukan menyediakan cara yang mudah untuk memisahkan rentetan yang dipisahkan koma kepada individu token menggunakan aliran rentetan.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggunakan Stringstream untuk Memisahkan Rentetan Dipisahkan Koma 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