Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Memisahkan C std::string Menggunakan Token (';')?

Bagaimana untuk Memisahkan C std::string Menggunakan Token (';')?

DDD
Lepaskan: 2024-11-22 19:29:13
asal
1109 orang telah melayarinya

How to Split a C   std::string Using Tokens (

Memisahkan C std::string Menggunakan Token (";")

Dengan mengandaikan anda mempunyai rentetan yang terdiri daripada perkataan yang dipisahkan oleh koma bertitik (";"), anda menyasarkan untuk memisahkan rentetan ini kepada vektor perkataan yang berasingan.

Untuk mencapai ini, anda boleh memanfaatkan fungsi perpustakaan standard std::getline. Ia membolehkan anda membaca data daripada aliran rentetan, menganggapnya sebagai urutan baris. Dengan mentakrifkan pembatas, anda boleh mengarahkan std::getline untuk membahagikan rentetan kepada subrentetan berdasarkan pembatas itu.

Berikut ialah contoh kod yang menunjukkan cara melakukannya:

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

using namespace std;

int main() {
    vector<string> strings;
    istringstream f("denmark;sweden;india;us");
    string s;

    while (getline(f, s, ';')) {
        cout << s << endl;
        strings.push_back(s);
    }

    return 0;
}
Salin selepas log masuk

Dalam ini kod:

  • Rentetan vektor dicipta untuk menyimpan pecahan subrentetan.
  • Strim rentetan f dimulakan dengan rentetan input yang mengandungi perkataan yang dipisahkan koma bertitik.
  • Dalam gelung sementara:

    • getline ialah dipanggil dengan pembatas ';' untuk mengekstrak subrentetan seterusnya daripada aliran rentetan.
    • Subrentetan yang diekstrak dicetak dan ditambah pada vektor rentetan.

Pendekatan ini menyediakan pendekatan yang mudah dan cara yang cekap untuk memisahkan rentetan menggunakan token yang ditentukan, seperti ";".

Atas ialah kandungan terperinci Bagaimana untuk Memisahkan C std::string Menggunakan Token (';')?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan