You are on page 1of 12

Pontifcia

Universidade Catlica do Rio Grande do Sul


Faculdade de Informtica - FACIN

LAPRO I
Prof. Dr. Rafael Garibotti

v Baseado no material cedido pelos Profs. Dr. Marco Mangan e Dr. Matheus Trevisan

AULA SOBRE:

STRINGS

STRINGS
Conceito:
um conjunto de caracteres, ou seja, em C so vetores de caracteres.
Tamanho da string: deve ser um caractere maior que o mximo tamanho
armazenado. possvel seu tamanho na declarao.
char buffer[50];

Utiliza-se (\0) para informar final da string.


O ltimo caractere no pode ser utilizado!
Neste exemplo, apenas as posies de 0 a 48 so possveis, onde a
posio 49 deve possuir um \0.
Headers para manipulao de strings.
#include <string.h>

STRINGS
Declarao:
char nome[6];

Varivel Contedo

Endereo de
memria

nome [0]

10

[1]

11

[2]

12

strings sempre comecam na posio


zero (0).

[3]

13

nome[0] = 'M';
nome[1] = 'A';

[4]

14

[5]

\0

15

Atribuio entre strings:


Uma das maneiras de fazer
atribuio de posio por posio.

STRINGS
Exemplo:
#include <stdio.h>
int main(){
char nome1[6];
nome1[0] = 'M';
nome1[1] = 'A';
nome1[2] = 'R';
nome1[3] = 'I';
nome1[4] = 'A';
nome1[5] = '\0';
printf("O nome %s\n", nome1);
printf("A terceira letra da string %c\n", nome1[2]);
return 0;
}
3

STRINGS
Leitura de strings do teclado:
Funo gets()
L string at o primeiro enter.
Observao: a funo gets() no realiza qualquer verificao de limites na
string. Logo, se o usurio inserir uma string maior que o tamanho definido, a
funo escrever a string ultrapassando seus limites.
Funo scanf()
L string at o primeiro espao em branco.
Exemplo:
...
char palavra[20];
gets(palavra);
scanf("%s", palavra);
...

STRINGS
#include <string.h>

C suporta uma ampla gama de funes de manipulao de strings.

strcpy(str1, str2)

strcat(str1, str2)

Concatena str2 ao final de str1.

int tam = strlen(str1)

Copia str2 em str1.

Retorna o tamanho de str1.

int valor = strcmp(str1, str2)

Retorna 0 se str1 e str2 so iguais; < que 0 (zero) se str1<str2; > que 0 (zero)
se str1>str2.

STRINGS
Exemplo:
#include<stdio.h>
#include<string.h>
int main() {
char nome1[12], nome2[12], nome3[15];
strcpy(nome1, "Carolina");
strcpy(nome2, "Rodrigo");
strcpy(nome3, "Ana Julia");
printf("Nome1 %s\n", nome1);
printf("Nome2 %s\n", nome2);
printf("Nome3 %s, tamanho: %lu\n", nome3, strlen(nome3));
return 0;
}
6

STRINGS
Exemplo:
#include<stdio.h>
#include<string.h>
int main() {
char nome1[5], nome2[6], nome12[12]={'\0'};
strcpy(nome1, "Jose");
strcpy(nome2, "Maria");
strcat(nome12, nome1);
strcat(nome12, " ");
strcat(nome12, nome2);
printf("Concatenao de nomes %s.\n", nome12);
return 0;
}
7

STRINGS
Exemplo:
#include<stdio.h>
#include<string.h>

Se for digitado "alo" e "alo":


Comprimentos: 3 3
Strings iguais.
aloalo
Isto um teste.

int main() {
char s1[80], s2[80];
gets(s1);
gets(s2);
printf("Comprimentos: %lu %lu\n", strlen(s1), strlen(s2));
if(strcmp(str1,str2) == 0)
printf("Strings iguais.\n");
strcat(s1, s2);
printf("%s \n", s1);
strcpy(s1, "Isto um teste.\n");
printf("%s \n", s1);
return 0;
}

ATIVIDADE

LABORATRIO
As atividades do laboratrio da aula de hoje esto no Moodle.

You might also like