Módulo IV
Strings
► Definição:
ƒ Uma String é um conjunto de caracteres
armazenados num array (vector).
► Não
confundir caracteres com strings
ƒ Nota:
►As
strings representamrepresentam-se entre aspas
ƒ “olá
olá mundo!!”
mundo!!” , “GPSI”
GPSI”
►Os
caracteres representamrepresentam-se entre plicas
ƒ ‘x’ , ‘-’ , ‘+’
1
Strings
► Uma
string é então um array de caracteres,
que termina sempre com o caracter ‘\0’,
para que desta forma seja possível
identificar o final da string.
► Exemplo:
ƒ Se armazenar a palavra “Portugal” numa string,
na realidade o que acontece é que o compilador
acrescenta um ‘\0’ no final.
2
P.S.I - Programação e Sistemas de
Informação
1
Módulo IV
Strings
► Sintaxe
da definição de uma variável para
armazenamento de strings
ƒ char nome_da_variável[nr_de_caracteres];
► IMPORTANTE
ƒ O nr_de_caracteres deve ser sempre o número
de caracteres necessários para a string + 1,
para o armazenamento do caracter ‘\0’
3
Strings
► Exemplo
da definição de variáveis para
armazenamento de strings:
ƒ char nome[21];
ƒ char localidade [100];
► Inicialização
ƒ
ƒ
ƒ
de strings
char nome[20]=
nome[20]=“André
André”;
char nome[20]={‘
nome[20]={‘A’,’n’,’d’,’r’,’é’}
’é’}
char nome[]
nome[]=“André
André”
ƒ A todas estas inicializaç
inicializações o compilador acrescenta o
terminador ‘\0’.
4
P.S.I - Programação e Sistemas de
Informação
2
Módulo IV
Strings
► Escrita/Impressão
de strings
ƒ Função printf()
►printf(“
printf(“hello
world”
world”);
►printf(“
printf(“%s”
%s”, nome_da_variá
nome_da_variável);
vel);
►printf(“
printf(“a string é: %s”
%s”, nome_da_variá
nome_da_variável);
vel);
ƒ Função puts()
►puts(“
puts(“hello
world”
world”);
►puts(“
puts(“nome_da_variá
nome_da_variável”
vel”);
5
Strings
► Leitura
de strings
ƒ Função scanf()
►scanf(“
scanf(“%s”
%s”,
nome_da_variá
nome_da_variável);
vel);
ƒ Nunca colocar & na leitura de strings.
ƒ O scanf não lê espaç
espaços.
ƒ Função gets()
►gets(nome_da_variá
gets(nome_da_variável);
vel);
6
P.S.I - Programação e Sistemas de
Informação
3
Módulo IV
Strings
► Funções
para manipulação de strings
#include<string.h>
ƒ Copiar strings:
► em
C não podemos copiar strings de forma directa.
► Não pode fazer isto:
►
►
►A
nome=“
nome=“JOEL”
JOEL”;
nome1=nome2;
funç
função que nos permite copiar valores para as strings é:
ƒ strcpy(variá
strcpy(variável_destino,
vel_destino, variá
variável_origem);
vel_origem);
ƒ Exemplo:
► strcpy(nome,
strcpy(nome, “JOEL”
JOEL”);
► strcpy(nome1, nome2);
7
Strings
► Comparar
strings
ƒ int strcmp(string1, string2)
ƒ Exemplos:
…
res=strcmp(nome,
res=strcmp(nome, nome1);
if(res==0)
puts(“
puts(“São iguais”
iguais”);
else
puts(“
puts(“São diferentes”
diferentes”);
…
<>0
=0
As Strings são diferentes
As Strings são iguais
…
if(strcmp(nome,
if(strcmp(nome, nome1)==0)
puts(“
puts(“São iguais”
iguais”);
else
puts(“
puts(“São diferentes”
diferentes”);
…
8
P.S.I - Programação e Sistemas de
Informação
4
Módulo IV
Strings
► Outras
funções:
ƒ int strlen(string); - devolve o tamanho da string
ƒ strcat(string1,string2); - concatena (junta) a
string2 à string1.
ƒ strrev(string); - inverte a string;
9
Strings
► Exemplos:
…
int tamanho;
tamanho=strlem(nome);
tamanho=strlem(nome);
…
strcat(nome,
strcat(nome, nome1);
…
strcat(nome,
strcat(nome, ”mais texto”
texto”);
…
strrev(nome);
strrev(nome);
…
10
P.S.I - Programação e Sistemas de
Informação
5
Download

Strings Strings