22.10.2014 Views

Aprendendo a Programar Programando em Linguagem C - FSM

Aprendendo a Programar Programando em Linguagem C - FSM

Aprendendo a Programar Programando em Linguagem C - FSM

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

printf("%d", strlen("Brasil"));<br />

b) Comparando duas strings.<br />

A comparação entre duas strings <strong>em</strong> relação à ord<strong>em</strong> alfabética é feita através da função de protótipo<br />

int strcmp(char *s 1 , char *s 2 );<br />

que retorna a diferença entre os códigos ASCII dos primeiros caracteres diferentes do dois parâmetros, que<br />

pod<strong>em</strong> ser constantes. Por ex<strong>em</strong>plo, a chamada str("Casa", "Caso"); retorna 14, que é a diferença entre os<br />

códigos ASCII de 'o' (111) e o de 'a' (97). Naturalmente, se as cadeias são iguais, a função retorna 0 (zero).<br />

c) Convertendo maiusculas para minúsculas e vice-versa.<br />

A conversão das letras de uma string de minúsculas para maiusculas é feita através da função de<br />

protótipo<br />

char *strupr(char *s);<br />

enquanto que a conversão inversa é feita através da função<br />

char *strlwr(char *s);<br />

podendo o parâmetro ser uma constante.<br />

d) Concatenando uma string a outra.<br />

A concatenação de uma cadeia de caracteres a uma outra cadeia é feita através da função<br />

char *strcat(char *s 1 , char *s s );<br />

que retorna a cadeia s 1 acrescida dos caracteres de s 2 , que pode ser uma constante. Por ex<strong>em</strong>plo, a sequência<br />

de instruções<br />

char *Str;<br />

Str = "Computa";<br />

strcat(Str, "dor");<br />

armazena <strong>em</strong> Str a cadeia "Computador".<br />

e) Fazendo cópia de uma string.<br />

Se s 1 e s 2 foram definidas como strings não se pode fazer uma atribuição do tipo<br />

s 1 = s 2 . Se pretend<strong>em</strong>os armazenar o conteúdo de s 2 <strong>em</strong> s 1 dev<strong>em</strong>os utilizar a função<br />

char *strcpy(char *s1, char *s2);<br />

que faz uma cópia do conteúdo de s 2 <strong>em</strong> s 1 , podendo s 2 ser uma constante.<br />

f) Copiando parte de uma string.<br />

Pode-se copiar os n primeiros caracteres de uma string através da função<br />

char *strncpy(char *s1, char *s2, int n);<br />

que armazena <strong>em</strong> s 1 os n primeiros caracteres de s 2 , podendo este segundo parâmetro ser uma constante. É<br />

necessário observar que o caractere nulo não é armazenado, devendo isto ser feito pelo programa.<br />

g) Verificando se uma string é subcadeia de outra string.<br />

Para se verificar se uma dada cadeia de caracteres está contida <strong>em</strong> outra cadeia, utiliza-se a<br />

função<br />

char *strstr(char *s1, char *s2);<br />

que retorna um ponteiro para a primeira posição a partir da qual s 2 ocorre <strong>em</strong> s 1 , retornando NULL se s 2 não<br />

está contida <strong>em</strong> s 1 . Por ex<strong>em</strong>plo, a execução do programa<br />

#include <br />

#include <br />

main(void)<br />

{

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!