Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk tokenize std::string menggunakan strtok?

Bagaimana untuk tokenize std::string menggunakan strtok?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-09 02:41:02943semak imbas

How to tokenize a std::string using strtok?

Tokenisasi std::string dengan strtok

Tokenizing std::string menggunakan strtok memerlukan menukarnya menjadi char untuk keserasian. Walau bagaimanapun, cubaan menggunakan str.c_str() menghasilkan jenis const char, yang tidak sesuai untuk strtok.

Satu penyelesaian ialah menggunakan objek istringstream, yang membolehkan anda merawat rentetan sebagai urutan token. Berikut ialah contoh:

#include <iostream>
#include <string>
#include <sstream>

int main() {
    std::string myText("some-text-to-tokenize");
    std::istringstream iss(myText);
    std::string token;

    // Use getline() to extract tokens separated by '-'
    while (std::getline(iss, token, '-')) {
        std::cout << token << std::endl;
    }

    return 0;
}

Sebagai alternatif, pertimbangkan untuk menggunakan Perpustakaan Boost C, yang menyediakan fungsi manipulasi rentetan dan tokenisasi tambahan, menawarkan lebih fleksibiliti dan kawalan.

Atas ialah kandungan terperinci Bagaimana untuk tokenize std::string menggunakan strtok?. 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