sábado, 1 de março de 2008

String Tokens

Tokens são uma ótima forma de se trabalhar com strings, formatadas ou não. A função strtok() é a solução em C para tokens. A sintaxe é a seguinte:
char * strtok(char * str1, const char * str2)
Ou seja, retorna um ponteiro para char, que pode ser interpretada também como uma string; e os seus parâmetros são dois ponteiros para char. Ela é usada da seguinte forma:

1. A primeira chamada para strtok quebra o primeiro parâmetro (str1) em tokens, delimitados pelo segundo parâmetro (str2).
2. Cada chamada subseqüente retorna um token, mas para isso o primeiro parâmetro tem que ser NULL.

Exemplo 1 - Neste exemplo, a saída será
seu
email
seu
dominio
com
br

Exemplo 2 - Este exemplo é igual ao de cima, só que o email é lido do usuário.

Exemplo 3 - Este é o segundo exemplo modificado. Esse código contém um erro relativamente comum quando se trabalha com strings. O gets() não aceita ponteiros para char, como foi declarado na linha 5. O jeito certo é declarar um array, como no segundo exemplo.

Em C/C++, é basicamente isso. Só não é mais simples que Java :D

Nenhum comentário: