A função strtok () em C ++ retorna o próximo token em uma string de bytes terminada em nulo.
protótipo strtok ()
char * strtok (char * str, const char * delim);
A strtok()
função leva dois argumentos: str e delim. Esta função encontra o token na string apontada por strtok
. O delimitador do ponteiro aponta para os caracteres separadores.
Essa função pode ser chamada várias vezes para obter tokens da mesma string. Existem dois casos:
- Se str não for NULL:
Uma chamada para strtok () é considerada a primeira chamada para aquela string. A função procura o primeiro caractere que não está contido em delim. Se nenhum caractere for encontrado, a string não contém nenhum token. Portanto, um ponteiro nulo é retornado. Se tal caractere for encontrado, a partir daí a função busca um caractere que esteja presente em delim. Se nenhum separador for encontrado, str tem apenas um token. Se um separador for encontrado, ele será substituído por ' 0' e o ponteiro para o caractere seguinte será armazenado em um local estático para invocações subsequentes. Finalmente, a função retorna o ponteiro para o início do token. - Se str for NULL:
a chamada é considerada como chamadas subsequentes para strtok e a função continua de onde saiu na chamada anterior.
É definido no arquivo de cabeçalho "> arquivo de cabeçalho.
Parâmetros strtok ()
str
: Ponteiro para a string de bytes terminada em nulo a ser tokenizada.delim
: Ponteiro para a string de bytes terminada em nulo que contém os separadores.
strtok () Valor de retorno
A strtok()
função retorna o ponteiro para o próximo token, se houver, ou retorna NULL, se nenhum outro token for encontrado.
Exemplo: como funciona a função strtok ()
#include #include using namespace std; int main() ( char str() = "parrot,owl,sparrow,pigeon,crow"; char delim() = ","; cout << "The tokens are:" << endl; char *token = strtok(str,delim); while (token) ( cout << token << endl; token = strtok(NULL,delim); ) return 0; )
Quando você executa o programa, a saída será:
Os tokens são: papagaio, coruja, pardal, pombo, corvo