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
1050 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!

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