Aprendendo a Programar Programando em Linguagem C - FSM
Aprendendo a Programar Programando em Linguagem C - FSM
Aprendendo a Programar Programando em Linguagem C - FSM
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 />
{