Biblioteca <string.h>
Como utilizar as principais funções
A biblioteca string.h foi feita para facilitar o manuseio de string, tendo como suas principais funções a:
· strlen (a função strlen, retorna um inteiro com dizendo quantos caracteres tem na string).
· strcpy (a função strcpy copia uma string para outra string).
· strcmp (esta função compara 2 string e retorna um inteiro. Se este inteiro for 0 quer dizer que as strings são iguais, se for negativo é porque a primeira e maior que a segunda e se for positivo é porque a segunda é maior que a primeira).
· strcat (a strcat concatena 2 strings).
Como usá las
Para que as seguintes funções funcione adicione a biblioteca string.h
“#include <string.h>”.
Strlen
Para usarmos a strlen faça a seguinte função:
int i;
char str[tam];
scanf(" %[^\n]",str);
i=strlen(str);
printf("%i\n",i);
pronto. A variável “i” recebera o número de caracteres que tem a sua string só que o próximo código ira fazer isso e é bem fácil de eu entender.
int i;
char str[tam];
scanf(" %[^\n]",str);
for(i=0;i<tam;i++){
if(str[i]=='\0') break;
}
printf("%i",i);
este é uma código eficiente que simula a strlen.
Strcpy
Para poder usar a strcpy faça o seguinte:
char str1[tam],str2[tam];
scanf(“ %[^\n]",str1);
strcpy(str2,str1);
printf("%s\n",str2);
Veja que lemos a “str1” mas imprimimos a “str2”, isso porque a “str1” foi jogada na “str2”. Agora vamos reproduzir um código que faça algo parecido.
int i;
char str1[tam],str2[tam];
scanf(" %[^\n]",str1);
for(i=0;i<tam;i++){
str2[i]=str1[i];
}
printf("%s\n",str2);
Este código também faz o mesmo processo que a strcpy só que tera que ter uma lógica melhor para compreende-lo.
Strcmp
Para usarmos a strcmp faça:
int i;
char str1[tam],str2[tam];
scanf(“ % [^\n]",str1);
scanf(“ %[^\n]",str2);
i=strcmp(str1,str2);
if(i==0){
printf(“São iguais\n”);
}else(i!=0){
printf(“Não são iguais\n”);
}
Por mais que isso seja só um pouco do que a strcmp possa fazer, esse será o seu principal uso. Mas vamos fazer um código que simule isso.
int i,j;
int o=0,c=0;
char str1[tam],str2[tam];
scanf(" %[^\n]",str1);
scanf(" %[^\n]",str2);
for(i=0;str1[i]!='\0';i++){
c++;
}
for(j=0;str1[j]!='\0';j++){
o++;
}
if(o==c){
printf("São iguais\n");
}else if(o!=c){
printf("Não são iguais\n");
}
Observe que temos dois for para contar quantos caracteres tem na em cada string e depois comparamos ela, caso seja igual ele retornara “São iguais”, caso não ele retornara “Não são iguais”.
Strcat
E por ultimo usaremos a strcat para concatenarmos duas strings. Vamos usar da seguinte forma:
int i;
char str1[tam],str2[tam];
scanf(" %s",str1);
scanf(" %s",str2);
strcat(str1," ");
strcat(str1,str2);
printf("%s\n",str1);
Observe que o código ficou bem simples mas o que faremos a seguir pode ter uma lógica mais difícil de compreender mas que pode ser mais eficiente que o código anterior.
int i,j;
char str1[tam],str2[tam],str3[tam+tam];
scanf(" %[^\n]",str1);
scanf(" %[^\n]",str2);
for(i=0;str1[i]!='\0';i++){
str3[i]=str1[i];
}
str3[i]=' ';
i++;
for(j=0;str2[j]!='\0';j++){
str3[i]=str2[j];
i++;
}
str3[i]='\0';
printf("%s\n",str3);
bem podemos ver que neste caso criamos a string “str3” para mantermos a integridade do valor da “str1 e str2”, lembrando que a cada string a mais a ser concatenada temos que aumentar o espaço da string que recebera as strings.
Bem pessoal ficamos por aqui com esta dica e até mais.
Lembre se “Os sonhadores são os salvadores do mundo” - James Allen.
Nenhum comentário:
Postar um comentário