Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah Saya Boleh Mengasingkan Rentetan Dibatasi Koma dengan Cekap dalam C ?

Bagaimanakah Saya Boleh Mengasingkan Rentetan Dibatasi Koma dengan Cekap dalam C ?

Patricia Arquette
Lepaskan: 2024-11-27 17:36:14
asal
251 orang telah melayarinya

How Can I Efficiently Separate Comma-Delimited Strings in C  ?

Memisahkan Rentetan Dibatasi Koma Menggunakan Aliran Rentetan

Dalam masalah yang disediakan, tugasnya adalah untuk memisahkan rentetan yang dibataskan koma kepada token individu. Walaupun aliran rentetan::operator boleh dengan mudah memisahkan perkataan mengikut ruang, ia kurang apabila ia berkaitan dengan koma.

Untuk mengatasi cabaran ini, kami menggunakan pendekatan yang diubah suai:

#include <iostream>
#include <sstream>

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

  // Use getline to separate by commas
  while (std::getline(ss, token, ',')) {
    std::cout << token << '\n';
  }

  return 0;
}
Salin selepas log masuk

Dalam ini kod diubah suai:

  • Kami menggunakan std::getline dan bukannya std::stringstream::operator>>. getline boleh mengekstrak subrentetan sehingga pembatas yang ditentukan (dalam kes ini, koma).
  • Kami mengulangi strim input sehingga tiada lagi token ditemui.
  • Untuk setiap token, kami mencetaknya pada baris baharu.
  • Output memisahkan rentetan input dengan tepat kepada individu token:

    abc
    def
    ghi
    Salin selepas log masuk

    Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengasingkan Rentetan Dibatasi Koma dengan Cekap 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