Strings

Post on 18-Jan-2016

39 views 0 download

description

Strings. Definição: Uma String é um conjunto de caracteres armazenados num array (vector). Não confundir caracteres com strings Nota: As strings representam-se entre aspas “olá mundo!!” , “GPSI” Os caracteres representam-se entre plicas ‘x’ , ‘-’ , ‘+’. Strings. - PowerPoint PPT Presentation

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);……