If you continue to use this site, you consent to our Privacy Policy.

24 maio 2018

Aula 2.15: Funções para manipular strings em C #LTCode

Este artigo faz parte do projeto #LTCode.

Na ultima aula, aula 2.14, você aprendeu sobre strings, hoje apresentarei algumas funções que te auxiliam na manipulação de strings. Para utilizar as funções apresentadas abaixo é necessário incluir a bibiotecla string.h . Portanto na linha abaixo de #include <stdio.h>  adicione também #include <string.h> .

1- Para saber o tamanho de uma string, podemos utilizar a função strlen que retorna quantos caracteres a string possui (sem contar o '\0').

Exemplo:
char palavra[] = "Limon";
int tamanho;
tamanho=strlen(palavra);
printf("%d",tamanho);

*Caso tenha lido uma string com fgets e você não removeu o '\n' então vai retornar 6 em vez de 5 caracteres na palavra Limon.

2- Se você quiser copiar uma string para outra string, você pode fazer isso usando a função strcpy.

Exemplo:
char palavra[] = "Limon";
char destino[5];
strcpy(destino,palavra);
printf("%s = %s",palavra,destino);

Note que a copia é realizada da string da direita para a string da esquerda quando chama a função.

3- Para concatenar duas strings (juntar elas) é simples usando a função strcat, mas note que não existirá nenhum espaço ou caractere separando as strings.

Exemplo:
char palavra[] = "Limon";
char palavra2[] = "Tec";
strcat(palavra,palavra2);
printf("%s",palavra);

A saída da string "palavra" ficará: LimonTec
Note que a string da direita é juntada com a string da esquerda quando chama a função.

4- Se você deseja comparar duas strings, para saber qual é maior alfabeticamente basta usar a função strcmp.

Exemplo:
char palavra[] = "Limon";
char palavra2[] = "Tec";
int resposta;
resposta=strcmp(palavra,palavra2);
printf("%d",resposta);

O retorno da função é um número inteiro:

- Zero se as strings forem iguais.
- Menor que zero se a string da esquerda (palavra) for alfabeticamente menor que a string da direita (palavra2).
- Maior que zero se a string da esquerda (palavra) for alfabeticamente maior que a string da direita (palavra2).

5- Para comparar duas string mas ignorando se algum caractere é maiúsculo ou minusculo. Usando a função acima as palavras "Limon" e "limon" são diferentes, mas se usar a função stricmp vai retornar que são iguais, pois ignora case.

Exemplo:
char palavra[] = "Limon";
char palavra2[] = "limon";
int resposta;
resposta=strcmp(palavra,palavra2);
printf("%d",resposta);

O retorno será 0 pois utilizando esta função, considera que as strings do exemplo acima são iguais.

Bom, recomendo que teste as funções citadas acima em seus programinhas. Até a próxima.

>> Próxima aula, em breve.





~ Artigos recomendados para você:









Please Donate To Bitcoin Address: [[address]]





Donation of [[value]] BTC Received. Thank You.


[[error]]