Header Ads

Strings e suas principais funções

afinal oque é string? nada mais é que um conjunto de caracteres ou ainda vetores de chars.

declaração geral para string é  : char nome_da_string [tamanho];
 Devemos lembrar que o tamanho da string deve incluir o '\0' final. A biblioteca padrão do C possui diversas funções que manipulam strings. Estas funções são úteis pois não se pode, por exemplo, igualar duas strings:

string1=string2;        /* NAO faca isto */
 
Fazer isto é um desastre. Quando você terminar de ler a seção que trata de
ponteiros você entenderá porquê. As strings devem ser igualadas elemento a elemento. 
 
Quando vamos fazer programas que tratam de string muitas vezes podemos fazer bom
proveito do fato de que uma string termina com '\0' (isto é, o número inteiro 0). Veja,
por exemplo, o programa abaixo que serve para igualar duas strings (isto é, copia os
caracteres de uma string para o vetor da outra): 
 
#include <stdio.h>
int main ()
{
 int count;
 char str1[100],str2[100];
 ....            /* Aqui o programa le str1 que sera copiada para str2 */
 for (count=0;str1[count];count++)
             str2[count]=str1[count];
        str2[count]='\0';
....            /* Aqui o programa continua */
} 

gets

A função gets() lê uma string do teclado. Sua forma geral é:
 gets (nome_da_string);
 O programa abaixo demonstra o funcionamento da função gets():
 
#include <stdio.h>
int main ()
{
 char string[100];
 printf ("Digite o seu nome: ");
 gets (string);
 printf ("\n\n Ola %s",string);
 return(0);
}
Repare que é válido passar para a função printf() o nome da string. Você verá mais adiante porque isto é válido. Como o primeiro argumento da função printf() é uma string também é válido fazer:
 
                printf (string);
  isto simplesmente imprimirá a string.




strcpy

Sua forma geral é:
 strcpy (string_destino,string_origem);
 A função strcpy() copia a string-origem para a string- destino. Seu funcionamento é semelhante ao da rotina apresentada na seção anterior. As funções apresentadas nestas seções estão no arquivo cabeçalho string.h. A seguir apresentamos um exemplo de uso da função strcpy():
 
#include <stdio.h>
#include <string.h>
int main ()
{
 char str1[100],str2[100],str3[100];
 printf ("Entre com uma string: ");
 gets (str1);
 strcpy (str2,str1); /* Copia str1 em str2 */
 strcpy (str3,"Voce digitou a string "); /* Copia "Voce digitou a string" em str3 */
 printf ("\n\n%s%s",str3,str2);
 return(0);
}
 
 
 
 
 

strcat

A função strcat() tem a seguinte forma geral:
 strcat (string_destino,string_origem);
 A string de origem permanecerá inalterada e será anexada ao fim da string de destino. Um exemplo:
 
#include <stdio.h> #include <string.h> int main () { char str1[100],str2[100]; printf ("Entre com uma string: "); gets (str1); strcpy (str2,"Voce digitou a string "); strcat (str2,str1); /* str2 armazenara' Voce digitou a string + o conteudo de str1 */ printf ("\n\n%s",str2); return(0); }



strlen

Sua forma geral é:
 strlen (string);
 A função strlen() retorna o comprimento da string fornecida. O terminador nulo não é contado. Isto quer dizer que, de fato, o comprimento do vetor da string deve ser um a mais que o inteiro retornado por strlen(). Um exemplo do seu uso:
 
#include <stdio.h>
#include <string.h>
int main ()
{
 int size;
 char str[100];
 printf ("Entre com uma string: ");
 gets (str);
 size=strlen (str);
 printf ("\n\nA string que voce digitou tem tamanho %d",size);
 return(0);
}




strcmp

Sua forma geral é:
 strcmp (string1,string2);
 A função strcmp() compara a string 1 com a string 2. Se as duas forem idênticas a função retorna zero. Se elas forem diferentes a função retorna não-zero. Um exemplo da sua utilização: 
#include <stdio.h>
#include <string.h>
int main ()
{
 char str1[100],str2[100];
 printf ("Entre com uma string: ");
 gets (str1);
 printf ("\n\nEntre com outra string: ");
 gets (str2);
 if (strcmp(str1,str2))
         printf ("\n\nAs duas strings são diferentes.");
 else printf ("\n\nAs duas strings são iguais.");
 return(0);
}





 

 

 
 

3 comentários:

  1. interessante o conteúdo deste blog, vc deve ser fera mesmo em informática... legal brother

    ResponderExcluir
  2. Obrigado Felipe pelo elogio sobre conteúdo do blog
    é um blog novo, aqui coloco em prática meus conhecimentos na area da tecnologia, e programação.

    ResponderExcluir

Interaja dê sua opinião, pois o espaço de comentário foi feito pra você.Sei que você é uma pessoa inteligente e usará este espaço com palavras inteligentes. E não usará comentários ofensivos e nem palavras de baixo calão.