Ir ao conteúdo
  • Cadastre-se

[C] Separar letras de outros caracteres!


BWalker

Posts recomendados

Pessoal alguém tem uma ideia de como resolver isso? Todas as minhas idéias resultam em funções enormes, mas eu acho que deve haver alguma maneira mais trivial de se implentar isso.

Basicamente é assim. Você carrega um "texto" - bem bagunçado - como o abaixo

64541[B]primeira[/B]98498741974[B]segunda[/B]9987
9841[B]terceira[/B]4984984 98498 984 984 [B]blablabla[/B]9/7
49 849 9//47/974 [B]quarta[/B] 899893749873[B]última[/B]'\0'

e tem que separar as partes que tem apenas letras em palavras. Para isso usa-se uma variável palavra.

Por exemplo:

palavra = primeira

palavra = segunda

palavra = terceira

palavra = blablabla

palavra = quarta

palavra = última

Eu não quero armazená-las em uma estrutura de dados. Eu quero pegar cada palavra e mandá-la para uma função para ver se ela existe em uma árvore, mas isso eu já fiz.

Bom é isso, agradeço a atenção.

Link para o comentário
Compartilhar em outros sites

Em C você tem a função isdigit() que retorna 0 se um caractere for um dígito (entre 0 e 9).


char str[] = "12345palavra1234";

int x, n1, n2;
for (x=0; x < strlen(str); x++)
if !(isdigit(str[x])) {
n1 = x;
while !(isdigit(str[x])) x++;
n2 = x-1;
funcaoQueUsaPegaAPalavra(str, n1, n2);
}

n1 e n2 vão ser os delimitadores de uma palavra dentro da string principal. Daí é só fazer alguma função que cria uma outra string copiando os caracteres entre essas duas posições.

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...