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