domingo, 4 de novembro de 2012

[Programação em C] Dividir strings (strtok)

Olá pessoal, nesse post iremos aprender a dividir uma string utilizando a função strtok da biblioteca string.h.

Exemplo: você quer dividir uma string em strings menores quando encontrar o caractere ponto (.) na string original. O ponto seria chamado de delimitador.

Veja o código:


Linha 6: declaração da string que eu quero dividir.

Linha 7: declaração do ponteiro "pch" do tipo char.

Linha 9: chamada da função strtok. Ela retorna um ponteiro para char, é por isso que "pch" recebe o retorno dela. A função strtok recebe dois pârametros. O primeiro é a string que irá ser dividida e o segundo são os delimitadores. No caso do nosso exemplo passamos a string "str" e o delimitador ponto(.).

Linha 11: A condição do comando de repetição (while) é que "pch" seja diferente de NULL. Se for NULL é porque não encontrou o delimitador para "quebrar" a string.

Linha 13: utilizo a função printf para mostrar uma parte da string que foi dividida.

Linha 14: A primeira chamada (linha 9) da função strtok você sempre irá passar a string que irá ser dividida. Nas chamadas subsequentes você tem que passar NULL.

A saída do nosso exemplo será:

www
geeksbr
com 

Quaisquer dúvidas, deixem nos comentários, até a próxima!


2 comentários:

Junior Carvalho disse...

ola amigo.
não entedi muitobem a imagem não aparece. poderia postar o codigo. ? pfv

Marcos Castro disse...

Olá, consertado, obrigado por avisar!