Você está na página 1de 5

Strings

Todasasfunesapresentadasnestedocumentoestonoarquivodecabealhostring.h.

1Determinandootamanhodeumastring
Paradeterminarotamanhodeumastringuseafunostrlen().Suasintaxe:strlen(string)
Exemplo:
/*Determinandootamanhodeumastringusandoafunostrlen()*/
#include<stdio.h>
#include<string.h>
intmain(void)
{
charstring[20];
printf("\n");
printf("Determinandootamanhodeumastring\n");
printf("\n");
printf("\n");
printf("Digiteastring:");
scanf("%s",string);
printf("\n");
printf("Astringtem%dcarateres.\n\n",strlen(string));
return(0);
}

2Copiandoumastringemoutra
Paracopiarumastringemoutrauseafunostrcpy().Suasintaxe:strcpy(destino,origem)
Exemplo:
/*Copiandoumastringemoutrausandoafunostrcpy()*/
#include<stdio.h>
#include<string.h>
intmain(void)
{
charstring1[10],string2[10];
printf("\n");
printf("Copiandoumastringemoutra\n");
printf("\n");

printf("\n");
printf("Digitestring1:");
scanf("%s",string1);
printf("\n");
printf("string1=%s\n",string1);
printf("string2=%s\n",strcpy(string2,string1));
return(0);
}
Naprtica,todocontedodestring2substitudoporstring1.

3Unindoduasstrings
Paraunirduasstringsuseafunostrcat().Suasintaxe:strcat(destino,origem)
Exemplo:
/*Unindoduasstringsusandoafunostrcat()*/
#include<stdio.h>
#include<string.h>
intmain(void)
{
charstring1[100],string2[10];
printf("\n");
printf("Unindoduasstrings\n");
printf("\n");
printf("\n");
printf("Digitestring1:");
scanf("%s",string1);
printf("\n");
printf("Digitestring2:");
scanf("\n%s",string2);
printf("\n");
printf("Unindostring1astring2:%s\n\n",strcat(string2,string1));
return(0);
}

4Anexandocaracteresdeumastringemoutra
Paraanexarcaracteresdeumastringemoutrauseafunostrncat().Suasintaxe:
strncat(destino,origem,nr_caracteres)
Exemplo:
/*Anexandocaracteresdeumastringemoutrausandoafunostrncat()*/
#include<stdio.h>
#include<string.h>

intmain(void)
{
charstring1[20],string2[6]="aeiou";
printf("\n");
printf("Anexandocaracteresdeumastringemoutra\n");
printf("\n");
printf("Entrecomstring1:");
scanf("%s",string1);
printf("\n");
printf("string2=%s\n\n",string2);
printf("string1+3caracteresdestring2=%s\n",strncat(string1,string2,3));
printf("\n");
return(0);
}

5Comparandoduasstrings
Paracompararduasstringsuseafunostrcmp().Suasintaxe:strcmp(string1,string2)
Seasstringsforemiguaisafunoretornazero,sestring1formaiorafunoretornaumvalormenor
quezeroesestring2formaiorafunoretornaumvalormaiorquezero.
Exemplo:
/*Comparandoduasstringscomafunostrcmp()*/
#include<stdio.h>
#include<string.h>
intmain(void)
{
charstring1[20],string2[20];
intretorno;
printf("\n");
printf("Comparandoduasstrings\n");
printf("\n");
printf("\n");
printf("Entrecomaprimeirastring:");
scanf("%s",string1);
printf("\n");
printf("Entrecomasegundastring:");
scanf("\n%s",string2);
printf("\n");
retorno=strcmp(string1,string2);
if(retorno==0)
printf("Asstringssoiguais.\n");
elseif(retorno<0)
printf("Astring1,maior.\n");

else
printf("Astring2,maior.\n");
return(0);
}
OBSERVAES:
1. Afunostrcmp()possuiumavariante,afunostrncmp()quecomparaosnprimeiros
caracteresdeduasstrings.Suasintaxe:strncmp(string1,string2,nr_caracteres)
2. Existemaindaasfunesstricmp()estrncmpi()quecomparamduasstringssemconsiderara
caixadasletras(maisculasouminsculas).

6Convertendostringsemnmeros
Paraconverterstringsemnmerosutilizeasfunesabaixo:

FUNO

CONVERTESTRINGSEM

atof(string)

float

atoi(string)

int

atol(string)

longint

strtod(string) double
strtol(string)

long

Exemplo:
/*Convertendostringsemnmeros*/
#include<stdio.h>
#include<stdlib.h>
intmain(void)
{charstring1[20],string2[20];
printf("\n");
printf("Convertendostringsemnmeros\n");
printf("\n");
printf("\n");
printf("Entrecomaprimeirastring:");
scanf("%s",string1);
printf("\n");
printf("Entrecomasegundastring:");
scanf("\n%s",string2);
printf("\n");
printf("string1+string2=%f",atof(string1)+atof(string2));
return(0);
}

Observaes:
1. Todastringterminacom\0,essecaracterequivalenteaointeiro0(zero).Oprograma
colocaautomaticamenteessecaracternofimdastring,entonoseesqueadecontarquevc
precisadessacasanovetor!!!
2. Sevocforlermaisdeumastring(oucaracter),apartirdasegundaleiturafeitacomscanf(),
precisacolocarumcaracter\nantesdoformatodaentrada.Sevocnofizerisso,ovalorda
stringqueestlendonoseroesperado!!!Exemplo:scanf(\n%s,string);
3. Notequevocnodevedigitaro&antesdonomedovetorparalerumastring!!!Issoacontece
porqueonomedovetorjoprprioendereodememriadaprimeiraposiodovetor.
4. Comoonomedovetorumendereodememria,sevoctiverdoisvetores:cadeia1ecadeia2
efizercadeia1=cadeia2,oresultadonooesperado!!!!Elevaialteraroenderedememria
dovetorcadeia1evaiperderoseucontedo!!!!Useasfunesdemanipulaodestrings!
5. Normalmente,quandoseusascanf(),essafunoassumequesevocdigitouespaoembranco
,porqueterminoudedigitaraentrada.Porisso,todastringsserlidaatoprimeiro
espaoembranco.Paralerastringtoda,incluindoespaosembranco,faa:
scanf(%[AZaz]s,string)

Você também pode gostar