Asingkan Rentetan Dipisahkan Koma Menggunakan Stringstream
Artikel ini membincangkan isu pengasingan rentetan yang dibataskan dengan koma menggunakan aliran rentetan. Kod asal yang diberikan oleh pengguna cuba menggunakan operator untuk memisahkan rentetan, tetapi ia hanya berfungsi untuk ruang, bukan koma.
Untuk mengatasi pengehadan ini, penyelesaian menggunakan kelas istringstream dan fungsi getline. Berikut ialah kod yang disemak:
#include <iostream> #include <sstream> int main() { std::string input = "abc,def,ghi"; std::istringstream ss(input); std::string token; while (std::getline(ss, token, ',')) { std::cout << token << '\n'; } return 0; }
Dalam kod ini, fungsi getline digunakan untuk mengekstrak setiap token daripada aliran rentetan. Ia memerlukan tiga hujah: aliran input, token dan pembatas (dalam kes ini, koma). Token kemudian dicetak ke konsol.
Apabila anda melaksanakan kod ini, ia akan menghasilkan output berikut:
abc def ghi
Kod yang disemak ini berjaya memisahkan rentetan berdasarkan koma dan menyediakan output yang diingini.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memisahkan Rentetan Dipisahkan Koma dalam C Menggunakan Stringstream?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!