"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como posso dividir strings C++ com eficiência usando tokens?

Como posso dividir strings C++ com eficiência usando tokens?

Publicado em 17/11/2024
Navegar:483

How Can I Efficiently Split C   Strings Using Tokens?

Divisão eficiente de strings C usando tokens

Para dividir uma C std::string em substrings com base em tokens especificados, existem várias abordagens que você pode usar pode considerar. A solução mais eficiente depende dos requisitos específicos da sua aplicação.

No seu caso, onde as strings são separadas por ; caracteres, e o uso de funções de string C e Boost é restrito, você pode utilizar a função std::getline(). Esta função permite que você leia dados de um fluxo em uma string, parando em um delimitador especificado.

Seguindo esta abordagem, aqui está um exemplo simples usando std::getline() para dividir sua string em substrings separadas e armazenar eles em um vetor:

#include 
#include 
#include 

using namespace std;

int main() {
    string input = "denmark;sweden;india;us";
    istringstream stream(input);

    vector split_strings;
    string token;

    // Read substrings separated by ';'
    while (getline(stream, token, ';')) {
        cout 

Este código demonstra como ler a string caractere por caractere usando std::getline(), dividi-la com base no ; delimitador e armazene as substrings individuais em um vetor.

Ao utilizar essa abordagem, você pode dividir sua string com eficiência em tokens e executar quaisquer operações de processamento ou armazenamento necessárias, conforme exigido por seu aplicativo.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3