String 2. String
- Umastringem C umvetor de caracteresterminado com um caractere
nulo.
- O caracter nulo um caractere com valor inteiro igual a
zero
- O terminador nulo tambm pode ser representato em C por '
'.
- O comprimento da string deve ser pelo menos 1 caractere maior
que o que pretendemos armazenar, pois um caractere reservado ao
terminador nulo.
- A funogets()l uma string e insere o terminador nulo na string
quando a teclaEnterfor pressionada.
3. String
- Usamos um ndice para acessar o caractere desejado dentro da
string.
- Em C, o ndice inicia em zero.
-
- A declarao acima inicializa a stringstrcom os caracteres'J' 'o'
'a' 'o'e'' .
- O cdigo de controle%sna funoprintf() usado para exibir uma
string.
4. String
- Podemos ler uma string usandoscanf() .
-
- No usamos o e comercial (&) para strings, pois o nome de um
vetor j um endereo de memria do comeo do vetor.
- Infelizmentescanf()l somente at o primeiro espao, ou seja, l
somente uma palavra.
- Para contornar isso, usamos a funo getsque l at encontrar o
caracter de fim de linha (enter).
5. String #include main() { charnome[6]; printf ( "Digite um
nome: " ); gets (nome); printf ( "Ola, %s " , nome); system(
"pause" ); } 6. String
- O problema de gets que ele pode provocar srios problemas de
segurana, pois permite o armazenamento de caracteres alm da
capacidade da string.
- Uma soluo mais segura usar a funo fgets que limita o tamanho
mximo a ser lido.
7. String #include main() { charnome1[21], nome2[21]; printf (
"Digite um nome: " ); gets (nome1); printf ( "Digite um nome: " );
fgets (nome2,21,stdin); printf ( " Nomes: %s - %s" , nome1, nome2);
} 8. String #include main(){ charnome[10] ="Joao" ; printf (
"String: %s " , nome); printf ( "Terceira letra: %c " , nome[2]);
printf ( "Quarta letra: %c " , nome[3]); nome[2] ='h' ; nome[3]
='n' ; printf ( "Agora a terceira letra eh: %c " , nome[2]); printf
( "Agora a quarta letra eh: %c " , nome[3]); printf ( "String
resultante: %s " , nome); system( "pause" ); } 9. String #include
main(){ charnome[10]; printf ( "Digite um nome: " ); gets (nome);
printf ( " String: %s " , nome); printf ( "Terceira letra: %c " ,
nome[2]); printf ( "Quarta letra: %c " , nome[3]); printf ( "o
tamanho da string eh: %d " , strlen(nome)); printf ( "o ultimo
caractere eh: %c " , nome[strlen(nome)-1]); nome[2] ='h' ; nome[3]
='n' ; printf ( "Agora a terceira letra eh: %c " , nome[2]); printf
( "Agora a quarta letra eh: %c " , nome[3]); printf ( "String
resultante: %s " , nome); system( "pause" ); } 10. String funes
- strlen(texto) Retorna o tamanho da string texto em nmero de
caracteres.
- strcpy(destino, fonte) Copia a string fonte para a string
destino.
- strcat(destino, fonte) Concatena a string fonte no fim da
string destino.
- strcmp(str1, str2) Compara duas cadeias e caracteres e retorna
um valor
-
- = 0 - se str1 e str2 forem iguais
-
- < 0 - se str1 for menor que str2
-
- > 0 - se str1 for maior que str2
11. String funes #include #include main() { charnome1[] ="Regis"
; printf ( "%s" ,nome1); charnome2[100]; strcpy(nome2,"Isaac" );
printf ( "%s" ,nome2); strcat(nome2, " Newton" ); printf ( "%s"
,nome2); strcpy(nome2, "Maria" ); printf ( "%s" ,nome2); } 12.
Funes no padronizadas
- H algumas funes muito teis para manipulao de Strings que no
esto disponveis no C ANSI:
-
-
- Converte para caixa baixa