Noções básicas de Funções para manipulação de caracteres para programação C

No coração de qualquer cadeia de texto é a variável de char. Com a programação C, é um buraco quadrado único, no qual você encher um valor de 0 a 255. Esse valor é representado visualmente como um personagem.

Básico das Ctypes

A linguagem C tem um bando de funções projetadas para testar ou manipular caracteres individuais. As funções são definidas no arquivo de cabeçalho ctype.h. A maioria dos programadores, portanto, referem-se às funções que o funções Ctype, onde CTYPE é pronunciado # 147-ver-tipo, # 148- e não # 147 Stoor-ye, # 148- que como um russo nativo iria lê-lo.

Para usar as funções Ctype, o arquivo de cabeçalho ctype.h deve ser incluído no seu código-fonte:

#incluir 

funções Ctype se enquadram em duas categorias: testes e manipulação.

FunçãoRetorna verdadeiro quando CH é
isalnum (CH)A letra do alfabeto (maiúsculo ou minúsculo) ou um número
isalpha (CH)Uma carta maiúsculo ou minúsculo do alfabeto
isascii (CH)Um valor ASCII na gama de 0 a 127
ISBLANK (CH)A tabulação ou espaço ou outro caractere em branco
iscntrl (CH)Um personagem código de controle, valores de 0 a 31 e 127
isdigit (CH)Um personagem de 0 a 9
isgraph (CH)Qualquer carácter de impressão, exceto para o espaço
ishexnumber (CH)Qualquer dígito hexadecimal, de 0 a 9 ou A a F (orlowercase maiúsculas)
islower (CH)A letra minúscula do alfabeto, uma para z
ISNUMBER (CH)Vejo isdigit ()
isprint (CH)Qualquer personagem que pode ser exibido, incluindo o espaço
ispunct (CH)Um símbolo de pontuação
isspace (CH)Um personagem, espaço, guia, alimentação de formulário, ou um espaço em branco Digite, por exemplo
isupper (CH)Uma letra maiúscula do alfabeto, UMA para Z
isxdigit (CH)Vejo ishexnumber ()
Funçãoretorna
ToASCII (CH)O valor do código ASCII de ch, na gama de 0 a 127
abaixar(CH)A minúscula do caráter CH
toupper (CH)A maiúsculas de carácter CH

De um modo geral, funções de teste começar é, e funções de conversão de começar para.

Cada função CTYPE aceita um valor int como argumento, representado pela variável CH nas Tabelas 13-1 e 13-2. Estes não são funções de char!

Cada função CTYPE retorna um valor int. Para as funções que retornam valores VERDADEIRO ou FALSO lógicos, FALSO é 0, e VERDADEIRO é um valor diferente de zero.

Holt para testar caracteres

As funções Ctype vêm em mais útil quando o teste de entrada, determinando que a informação adequada foi digitado, ou puxar as informações necessárias para fora do lixo. O código no texto de estatísticas ilustra como um programa pode digitalizar texto, arrancar certos atributos e, em seguida, exibir um resumo das informações.

estatísticas de texto

#include #include int main () {frase char [] = "Quando, no curso dos acontecimentos humanos, se torna necessário a um povo dissolver os laços políticos que o ligavam a outro, e assumir, entre os poderes da terra , a estação separada e igual a que as leis da natureza e de Deus da natureza a autorizam, um respeito decente pelas opiniões da humanidade exige que se declarem as causas que os levam a essa separação. "- int index, alfa, em branco, punct-alfa = blank = punct = 0 - / * reunir dados * / index = 0-while(phrase[index]){if(isalpha(phrase[index]))alpha++-if(isblank(phrase[index]))blank++-if(ispunct(phrase[index]))punct++-index++-}/* resultados de impressão * / printf ( ""% s " n", frase) -puts ( "Estatísticas:") - printf ( "% d caracteres alfabéticos n", alpha) -printf ( "% d n blanks ", em branco) -printf (" símbolos de pontuação% d n ", punct) -Retornar (0) -}

Estatísticas de texto pode parecer muito tempo, mas não é- a frase [] string declarou na Linha 6 pode ser qualquer coisa que você gosta - qualquer texto, um poema, ou um limerick imunda. Ele deve ser longa o suficiente para ter um punhado de personagens interessantes. Note-se que embora o texto quebra e travessões neste texto, você deve digitar apenas uma longa linha de texto em seu código.

Este código também faz um inicialização quadrilha:

 alfa = blank = punct = 0-

Porque cada uma dessas variáveis ​​devem ser definidas para 0, você usa vários operadores de atribuição na mesma linha e realizar a tarefa em uma só penada.

A carne de operação do programa ocorre começando com o comentário de dados se reunir. Um loop while percorre cada caractere na string. A condição para o loop while é a frase [índice]. Essa avaliação é verdadeiro para cada personagem na matriz, exceto para o último, o caractere nulo, que avalia como FALSE e pára o loop.

funções ctype são utilizados em se declarações como cada personagem é avaliada em linhas 17, 19 e 21. Em testes de if-else, cada personagem deve ser verificado. Quando uma correspondência positiva ou TRUE é encontrado, uma variável de contador é incrementado.

Exercício 1: Digite o código-fonte do texto de estatísticas em seu editor. Construir e executar.

Exercício 2: Modificar o código fonte a partir de estatísticas de texto para que os testes também são feitos para a contagem de letras maiúsculas e minúsculas. Exibir os resultados também.

Exercício 3: Adicione código para a sua solução do Exercício 2, para que a contagem final de todos os caracteres no texto (comprimento do texto) é exibido como a estatística final.

Como alterar caracteres

As funções Ctype que começam com a são usados ​​para converter caracteres. A mais comum destas funções são toupper () e tolower (), que vêm a calhar quando o teste de entrada. Como um exemplo, considere o problema yorn típico, ilustrado em um Yorn problema.

UM PROBLEMA YORN

#include #include int main () {char resposta-printf ( "Você gostaria de explodir a lua?") -scanf ( "% c", resposta) -atender = toupper (resposta) -se (resposta == ' Y ') puts ( "BOOM!") - elseputs ( "A lua é seguro") - retorno (0) -}

Yorn é programador falar por um sim ou nenhuma situação: O usuário é solicitado a digitar Y para Sim ou N para Não Será que a pessoa tem que digitar Y ou y? Ou eles podem digitar N ou n, ou se qualquer tecla não-Y ser considerada Não?

Em A Yorn Problema, Linha 10 usa toupper () para converter a entrada de caracteres em maiúsculas. Dessa forma, apenas um único se a condição é necessária para testar a Y ou entrada y.

Exercício 4: Criar um novo projeto usando o código-fonte mostrado em A Yorn problema. Construir e executar.

Exercício 5: Modificar o código fonte para que o texto é exibido quando o usuário digita nem Y nem N.

Exercício 6: Escreva um programa que muda todas as letras maiúsculas em uma sequência de texto para minúsculas e muda as letras minúsculas para maiúsculas. Exibir os resultados.

menu