Linguagem C 02 String
-
Upload
regis-magalhaes -
Category
Documents
-
view
8.905 -
download
2
Transcript of Linguagem C 02 String
- 1. Linguagem C
-
- Regis Pires Magalhes
-
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.
-
- str[1] = 'a';
- Em C, o ndice inicia em zero.
- char str[10] = "Joao";
-
- 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.
-
-
- scanf("%s", texto);
-
- 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).
-
- gets(texto);
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.
-
- fgets(texto, 50, stdin);
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:
-
- strupr
-
-
- Converte para caixa alta
-
-
- strlwr
-
-
- Converte para caixa baixa
-
-
- strrev
-
-
- Retorna
-