sexta-feira, 24 de outubro de 2014

Biblioteca string.h

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