A declaração de uma string em C é semelhante a declaração de um vetor do tipo char. O número máximo de caracteres que comportará a cadeia será igual ao número de elementos do vetor menos um (reservado para o caractere do final da cadeia),...
| ||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||
Declaração de Cadeias de caracteres | ||||||||||||||||||||||||||||||||||||||
A declaração de uma string em C é semelhante a declaração de um vetor do tipo char. O número máximo de caracteres que comportará a cadeia será igual ao número de elementos do vetor menos um (reservado para o caractere do final da cadeia), por exemplo, se definirmos uma cadeia de caracteres de tamanho 30, ela conterá 29 caracteres + '\0'. | ||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||
Inicialização de cadeia de caracteres | ||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||
Exemplo de inicialização manual de cadeia de caracteres (para impressão de cadeia de caracteres com o comando printf devemos utilizar o caracter formatação "%s" : | ||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||
Outra maneira (mais simples) de inicializarmos uma cadeia de caracteres é na sua declaração, como no exmplo abaixo: | ||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||
ATENÇÃO | ||||||||||||||||||||||||||||||||||||||
O comando scanf não lê o caracter Enter('\0'), portanto em variáveis do tipo char esse caracter é lido no comando scanf seguinte. Logo, em comandos de leitura de variáveis do tipo char, coloque a função getchar() ou fflush(stdin) (biblioteca stdlib.h) após o commando scanf, para solucionar o problema. A função fflush(stdin) limpa o buffer do teclado. Veja o exemplo abaixo: | ||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||
Utilizar funções de manipulação de cadeias fornecidas na biblioteca padrão (String.h) | ||||||||||||||||||||||||||||||||||||||
A movimentação de valores de/para as cadeias de caracteres não pode ser efetuadas diretamente pelo comando de atribuição, ou pode ser efetuada pela movimentação caracter a caracter como em vetores ou através de funções de manipulação de cadeias de caracteres. Estas funções estão no cabeçalho do arquivo <string.h>: | ||||||||||||||||||||||||||||||||||||||
#include <string.h> | ||||||||||||||||||||||||||||||||||||||
Nesse momento, apresentaremos apenas as funções mais importantes de manipulação de Strings. | ||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||
A movimentação pode ser efetuada caracter a caracter (como em um vetor) ou através da função strcpy (string copy). | ||||||||||||||||||||||||||||||||||||||
char *strcpy (const char *dest,const char *src) - Copia uma string de src para outra string dest. | ||||||||||||||||||||||||||||||||||||||
Exemplo de movimentação manual e através da função strcpy. | ||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||
A comparação pode ser efetuada caracter a caracter (como em um vetor) ou através da função strcmp (string compare). | ||||||||||||||||||||||||||||||||||||||
int strcmp(const char *string1,const char *string2) - Compara duas strings (string1 e string2) e determina a ordem (alfabetica) das duas. | ||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||
Exemplo de comparação manual e através da função strcmp. | ||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||
Informa a quantidade de caracteres (tamanho) em uma cadeia de caracteres, excetuando o caracter de fim da string('\0'). | ||||||||||||||||||||||||||||||||||||||
int strlen(const char *string) - Retorna o tamanho de uma string. | ||||||||||||||||||||||||||||||||||||||
Exemplo de Tamanho de String. | ||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||
Concatena (une) caracteres de duas cadeias de caracteres em uma string. | ||||||||||||||||||||||||||||||||||||||
char *strcat(const char *string1, char *string2) - Concatena os caracteres da string2 na string1. | ||||||||||||||||||||||||||||||||||||||
Exemplo de Concatenação de Strings. | ||||||||||||||||||||||||||||||||||||||
|