Vous êtes sur la page 1sur 11

A biblioteca string.h da linguagem C, contm uma srie de funes para manipular strings.

Neste artigo veremos como:


Copiar strings em C usando strcpy e strncpy;
Concatenar strings em linguagem C usando strcat e strncat;
Descobrir o tamanho de uma string em C usando strlen();
Comparar strings em C usando strcmp();

Construiremos exemplos de programas em C para exemplificar as funes mais utilizadas.


Nas funes a seguir, utilizamos o seguinte padro para descrever
a sintaxe:
string_destino: a string que recebe a cpia
string_origem: a string que contm a cadeia de caracteres que ser copiada.

strcpy
Sintaxe:
strcpy(string_destino, string_origem);
Realiza a cpia do contedo de uma varivel a outra.
Obs:Ambas devem ser strings.

#include <stdio.h>

#include <string.h> //necessrio para strcpy

3
4
5

#include <conio.h>
int main (void)
{
char nome[15];

6
7

8
9
strcpy(nome, "Fulano de Tal");

1
0

//strcpy(string_destino, string_origem);

11

//note que a string de destino nome

1
2

//a string de origem "Fulano de Tal"

1
3

printf("Nome = %s", nome);

1
4
getch();

1
5
1
6

return 0;
}

1
7

Tela de execuo

Execuo do exemplo strcpy

strncpy
Sintaxe:

strncpy(string_destino, string_origem, tamanho);


Realiza a cpia do contedo de uma varivel a outra, porm,
deve ser especificado o tamanho a ser copiado.
Obs:Tanto a varivel de destino, como a de origem devem ser strings.

1
2
3
4

#include <stdio.h>
#include <string.h>//necessrio para strncpy
#include <conio.h>

5
int main (void)

6
{

char str1[8] = "Curso C";

char str2[5];

9
1
0

strncpy(str2, str1, 5);

11
str2[5] = '\0';

1
2

printf("str2 = %s\n", str2);

1
3
getch();

1
4
1
5
1
6

return 0;
}

Tela de execuo

Execuo do exemplo strncpy

strcat
Sintaxe
strcat(string_destino, string_origem);
Realiza a concatenao do contedo de uma varivel a outra.
Ambas devem ser strings.

//Exemplo strcat

#include <stdio.h>

3
4
5

#include <string.h>//necessrio para strcat


#include <conio.h>
int main (void)
{

6
char str[10] = "Curso";

7
strcat(str, " de C");

//Concatena a string " de C" com o contedo da string str

9
1
0

printf("str = %s\n", str);


//Ser exibido curso de C

11
1
2
1
3

getch();

1
4
1
5

return 0;
}

1
6

Tela de execuo

Execuo do exemplo strcat

strncat
Sintaxe:
strncat(string_destino, string_origem, tamanho);
Realiza a concatenao do contedo de uma varivel a outra,
porm, deve ser especificado o tamanho a ser concatenado.
Ambas devem ser strings.

//Exemplo strncat
#include <stdio.h>

2
3
4
5

#include <string.h>//necessrio para strncat


#include <conio.h>

6
int main (void)

7
{

char str1[20] = "Curso";

char str2[17] = " de programacao C";

1
0
strncat(str1, str2, 15);

11

//concatena a string1 com 15 posies da string2

1
2
1
3

printf("str1 = %s\n", str1);


//Ser exibido Curso de Programao

1
4
1
5
1
6
1
7
1
8

getch();
return 0;
}

Tela de execuo

Execuo do exemplo strncat

strlen
Sintaxe:
varivel do tipo inteiro = strlen(string);
Determina o tamanho de uma string.

//Exemplo strlen

#include <stdio.h>

3
4
5

#include <string.h>//necessrio para strlen


#include <conio.h>
int main (void)
{

6
char str[5] = "Curso";

7
int tamanho;

8
9

tamanho = strlen(str);

1
0
11
1

printf("O tamanho da string %s vale %d\n", str, tamanho);

2
1
3
1
4

getch();
return 0;

1
5

1
6

Tela de execuo

Execuo do exemplo strlen

strcmp
Sintaxe:
varivel do tipo inteiro = strcmp(string1, string2);
Compara o contedo de duas strings;
Possveis valores de retorno:
0: contedo das strings so iguais
< 0: contedo da string1 menor do que string2
> 0: contedo da string1 maior do que string2
Exemplo de programa usando strcmp:

1
2
3
4
5

#include <stdio.h>
#include <string.h>//necessrio para strcmp
#include <conio.h>
int main (void)

6
{

7
char str1[3] = "abc";

char str2[3] = "abd";

int retorno;

1
0
retorno = strcmp(str1, str2);

11

printf("retorno = %d\n", retorno);

1
2

//mostra o retorno da funo strcmp

1
3
getch();

1
4
1
5

return 0;
}

1
6

Tela de execuo

Execuo do exemplo strcmp

strncmp
Sintaxe:
varivel do tipo inteiro = strncmp(string1, string2, tamanho);
Tambm faz a comparao do contedo de duas strings, porm, deve ser especificado o
tamanho a ser comparado;
Possveis valores de retorno:
0: contedo das strings so iguais
< 0: contedo da string1 menor do que string2
> 0: contedo da string1 maior do que string2
Exemplo de programa usando strncmp:

//Exemplo strncmp

#include <stdio.h>

3
4
5

#include <string.h>//necessrio para strncmp


#include <conio.h>
int main (void)
{

6
char str1[10] = "Curso de C";

7
char str2[22] = "Curso de programao C";

int retorno;

9
1
0
11
retorno = strncmp(str1, str2, 5);

1
2
1
3

printf("retorno = %d\n", retorno);


getch();

1
4
1
5

return 0;
}

1
6

Tela de execuo

Execuo do exemplo strncmp

Obs:Os cdigos dos programas utilizados neste artigo foram gentilmente cedidos pelo
Prof. Fabio Schmitt.

Vous aimerez peut-être aussi