sexta-feira, 10 de dezembro de 2010

[Prog. em C] Retirar espaços em excesso entre strings

Vamos ver o código de um programa que retira o excesso de espaços em branco numa sequência de strings, vamos ao código e logo depois à explicação:


Na linha 12 pegamos o tamanho da string através da função strlen. Na linha 14 quer dizer "se o caracter da string frase for diferente do espaço". Na linha 15 o caracter da string frase é copiado para auxFrase. Na linha 17 o flag é para controlar os espaços, aqui zera a quantidade de espaços porque caiu na condição do caracter ser diferente do espaço.

Na linha 19 temos "se o caracter for igual ao espaço". Na linha 20 incrementa flag que controla a quantidade de espaços.

Linha 21 significa: se o flag for igual a 1 então é porque só tem um espaço e aí eu posso copiar esse espaço para a string auxFrase.

Se o flag for maior que 1 então eu não copio nada pois aí temos espaços excessivos.

Execução:



Um comentário:

diego ferreira disse...

Se for necessário remover espaços entre as letras da string basta colocar a verificação da flag como sendo igual 2 ao invés de 1

if (flag == 2) ...