Memisahkan rentetan C Menggunakan Token dengan Cekap
Untuk membahagikan rentetan C std::rentetan kepada subrentetan berdasarkan token yang ditentukan, terdapat beberapa pendekatan yang anda boleh pertimbangkan. Penyelesaian yang paling cekap bergantung pada keperluan khusus aplikasi anda.
Dalam kes anda, di mana rentetan dipisahkan oleh ; aksara, dan penggunaan fungsi rentetan C dan Boost adalah terhad, anda boleh menggunakan fungsi std::getline(). Fungsi ini membolehkan anda membaca data daripada strim ke dalam rentetan, berhenti pada pembatas yang ditentukan.
Berikutan pendekatan ini, berikut ialah contoh mudah menggunakan std::getline() untuk membahagikan rentetan anda kepada subrentetan berasingan dan menyimpan mereka dalam vektor:
#include <sstream> #include <iostream> #include <vector> using namespace std; int main() { string input = "denmark;sweden;india;us"; istringstream stream(input); vector<string> split_strings; string token; // Read substrings separated by ';' while (getline(stream, token, ';')) { cout << token << endl; split_strings.push_back(token); } }
Kod ini menunjukkan cara membaca aksara rentetan mengikut aksara menggunakan std::getline(), bahagikannya berdasarkan ; pembatas, dan simpan subrentetan individu dalam vektor.
Dengan menggunakan pendekatan ini, anda boleh memisahkan rentetan anda kepada token dengan cekap dan melaksanakan sebarang operasi pemprosesan atau penyimpanan yang diperlukan seperti yang diperlukan oleh aplikasi anda.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Membahagikan Rentetan C Dengan Cekap Menggunakan Token?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!