Strings
► Definição:
 Uma String é um conjunto de caracteres
armazenados num array (vector).
► Não
confundir caracteres com strings
 Nota:
►As strings representam-se
 “olá mundo!!” , “GPSI”
►Os caracteres
 ‘x’ , ‘-’ , ‘+’
entre aspas
representam-se entre plicas
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
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]=“André”;
 char nome[20]={‘A’,’n’,’d’,’r’,’é’}
 char nome[]=“André”
 A todas estas inicializações o compilador acrescenta o
terminador ‘\0’.
4
Strings
► Escrita/Impressão
de strings
 Função printf()
►printf(“hello
world”);
►printf(“%s”, nome_da_variável);
►printf(“a string é: %s”, nome_da_variável);
 Função puts()
►puts(“hello
world”);
►puts(“nome_da_variável”);
5
Strings
► Leitura
de strings
 Função scanf()
►scanf(“%s”,
nome_da_variável);
 Nunca colocar & na leitura de strings.
 O scanf não lê espaços.
 Função gets()
►gets(nome_da_variável);
6
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:
nome=“JOEL”;
► nome1=nome2;
►
►A
função que nos permite copiar valores para as strings é:
 strcpy(variável_destino, variável_origem);
 Exemplo:
► strcpy(nome, “JOEL”);
► strcpy(nome1, nome2);
7
Strings
► Comparar
strings
 int strcmp(string1, string2)
 Exemplos:
…
res=strcmp(nome, nome1);
if(res==0)
puts(“São iguais”);
else
puts(“São diferentes”);
…
<>0
=0
As Strings são diferentes
As Strings são iguais
…
if(strcmp(nome, nome1)==0)
puts(“São iguais”);
else
puts(“São diferentes”);
…
8
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);
…
strcat(nome, nome1);
…
strcat(nome, ”mais texto”);
…
strrev(nome);
…
10
Download

strings