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

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

Barbara Streisand
Barbara Streisandasal
2024-12-05 16:33:14424semak imbas

How Can I Split a Comma-Separated String in C   Using Stringstream?

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!

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