Noções básicas das funções de string para Programação C
Apesar de sua nonvariable classificação do tipo, a biblioteca de programação C não poupam em funções que manipulam strings. Apenas sobre qualquer coisa que você deseja fazer com uma corda pode ser feito usando algumas das muitas funções de cadeia. E quando essas funções ficam aquém, você pode escrever o seu próprio.
Introdução a funções de cadeia
Aqui estão algumas das funções de biblioteca de linguagem C que manipulam ou cadeias de abuso:
Função | O que faz |
---|---|
strcmp () | Compara duas cordas de uma forma maiúsculas e minúsculas. Se o stringsmatch, a função retorna 0. |
strncmp () | Compara os primeiros n caracteres de duas cordas, retornando 0 ifthe determinado número de caracteres jogo. |
strcasecmp () | Compara duas cadeias, ignorando diferenças de caso. Se o stringsmatch, a função retorna 0. |
strncasecmp () | Compara um número específico de caracteres entre duas cordas, ignorando diferenças de caso. Se o número de caracteres corresponder, thefunction retorna 0. |
strcat () | Anexa uma corda a outra, criando uma única corda fora oftwo. |
strncat () | Anexa um determinado número de caracteres de uma cadeia para o endof outro. |
strchr () | Procura por um personagem dentro de uma cadeia. A posição do personagem returnsthat função a partir do início da string como umPonteiro. |
strrchr () | Procura por um personagem dentro de uma cadeia, mas em sentido inverso. Thefunction retorna a posição do caracter a partir da extremidade de theString como um ponteiro. |
strstr () | Procura uma cadeia dentro de outra cadeia. Os functionreturns um ponteiro para a localização do string se it'sfound. |
strnstr () | Procura uma string dentro os primeiros n caracteres de thesecond cadeia. A função retorna um ponteiro para a string'slocation se for encontrado. |
strcpy () | Cópias (duplicatas) uma corda para outra. |
strncpy () | Copia um número específico de caracteres de uma cadeia toanother. |
strlen () | Retorna o comprimento de uma corda, sem contar o 0 ou NULLcharacter no final da cadeia. |
Mais funções de cadeia estão disponíveis. Muitos deles fazem coisas específicas que exigem uma compreensão mais profunda de C. Os que são apresentados são os mais comuns.
Todas estas funções de cadeia requerem o arquivo de cabeçalho string.h para ser incluído no seu código-fonte:
#incluir
Em um sistema Unix, você pode rever todas as funções de cadeia, digitando o comando corda homem em uma janela de terminal.
Texto de funções de cadeia
Cadeias são comparadas usando a função strcmp () e todos os seus primos: strncmp (), strcasecmp () e strncasecmp ().
As funções de cadeia de comparação retornar um valor de int com base no resultado da comparação: 0 para quando as cordas são iguais, ou um valor int superior ou inferior com base em se o valor do primeiro string é maior que (mais elevado no alfabeto) ou menos que (inferior no alfabeto), a segunda corda. Na maioria das vezes, você só buscar por 0.
Let Me In usa a função strcmp () na linha 13 para comparar a senha cadeia inicializada com qualquer texto que é lido na Linha 11, que é armazenado na matriz de entrada. O resultado desta operação é armazenado na partida variável, que é usado em uma árvore de decisão if-else na Linha 14 para exibir os resultados.
ME DEIXAR ENTRAR
#include #include int main) {password char ([] = "taco" input -char [15] -int match-printf ( "Password:") -scanf ( "% s", de entrada) -match = strcmp (entrada , password) -se (match == 0) puts ( "senha aceita") - ". senha inválida alertar as autoridades." elseputs () - retorno (0) -}
Exercício 1: Digite o código-fonte do Let Me In em seu editor. Experimentar o programa algumas vezes para garantir que ele aceita apenas taco como a senha adequada.
exercício 2: eliminar a partida variável do seu código no Exercício 13-7 e usar a função strcmp () diretamente no caso de comparação. Essa é a maneira a maioria dos programadores fazê-lo.
Exercício 3: Catraca para baixo a segurança de um entalhe, substituindo a função strcmp () com strcasecmp (). Execute o programa para confirmar que tanto taco e TACO são aceitos como a senha.
Como construir cadeias
A cola que gruda uma corda para o fim de outro é a função strcat (). O termo gato é curto para concatenar, o que significa que para ligar em conjunto. Veja como funciona:
strcat (primeira, segunda) -
Após esta declaração é executado, o texto da segunda corda é anexada à primeira corda. Ou você pode usar valores imediatos:
strcat (gerúndio, "ing") -
Esta declaração tachas o texto ing para o final da matriz texto gerúndio.
O código na Introduções declara duas matrizes de caracteres para armazenar texto. Matriz primeira é duas vezes tão grande como matriz último porque é o local onde o conteúdo do segundo string é copiada. A cópia tem lugar na Linha 13 com a função strcat ().
APRESENTAÇÕES
#include #include int main () {char primeira [40] -char última [20] -printf ( "Qual é o seu primeiro nome?") -scanf ( "% s", em primeiro lugar) -printf ( "Qual é a sua última nome ") -scanf ("% s ", last) -strcat (primeiro, último) -printf (" prazer em conhecê-lo,% s n ", primeira -Retornar) (0) -?!}
exercício 4: Criar um novo programa usando o código-fonte de introduções. Executar o programa. Digite seu primeiro e último nomes, e depois fazer Exercício 5.
Exercício 5: Modificar o código fonte, de modo que um único espaço é concatenado com a primeira corda antes do último string é concatenada.