Avatar ·

¿Cómo dividir una cadena en tokens (palabras) en C++? Guía detallada

¡Hola a todos! Acabo de empezar a aprender C++ y me encontré con un problema que parece simple, pero no encuentro una solución normal. Necesito dividir una cadena en palabras individuales (tokens). Por ejemplo, tengo la cadena "Hello, world! This is C++". Quiero obtener un array o vector: ["Hello,", "world!", "This", "is", "C++"]. En Python simplemente escribiría `"Hello, world! This is C++".split()` y ya está. Pero en C++ no veo un método igual de simple. Sé que existen `std::string` y `std::stringstream`, pero ¿cómo extraer palabras individuales de ellos? Intenté escribir algo como: ```cpp #include #include #include #include int main() { std::string str = "Hello, world! This is C++"; std::stringstream ss(str); std::string word; std::vector tokens; while (ss >> word) { tokens.push_back(word); } for (const auto& w : tokens) { std::cout << w << std::endl; } return 0; } ``` Pero e