Conceptos básicos de las funciones de manipulación de caracteres para la programación c
En el corazón de cualquier cadena de texto es la variable de carbón. Con programación C, que es un agujero cubículo único, en el que usted rellena un valor entre 0 y 255. Ese valor está representado visualmente como un personaje.
Conceptos básicos de los ctypes
El lenguaje C dispone de un grupo de funciones diseñadas para probar o manipular caracteres individuales. Las funciones están definidas en el archivo de cabecera ctype.h. Por tanto, mayoría de los programadores se refieren a las funciones que la Funciones CType, donde se pronuncia CTYPE " ver de tipo, " y no " stoor-ye, " que cómo un ruso nativo lo leería.
Para utilizar las funciones CType, el archivo de cabecera ctype.h debe ser incluido en el código fuente:
#include
Funciones CType encajan en dos categorías: las pruebas y la manipulación.
Función | Devuelve TRUE Cuando ch es |
---|---|
isalnum (ch) | Una letra del alfabeto (mayúsculas o minúsculas) o un número |
isalpha (ch) | Una carta de mayúsculas o minúsculas del alfabeto |
isascii (ch) | Un valor ASCII en el rango de 0 a 127 |
isblank (ch) | Una pestaña o espacio u otro carácter en blanco |
iscntrl (ch) | Un personaje código de control, los valores de 0 a 31 y 127 |
isdigit (ch) | Un personaje del 0 al 9 |
isgraph (ch) | Cualquier carácter imprimible excepto por el espacio |
ishexnumber (ch) | Cualquier dígito hexadecimal, 0 a 9 o A a la F (orlowercase mayúsculas) |
es bajo(ch) | Una letra minúscula del alfabeto, la a z |
ISNUMBER (ch) | Ver isdigit () |
isprint (ch) | Cualquier carácter que se puede mostrar, incluyendo el espacio |
ispunct (ch) | Un símbolo de puntuacion |
isspace (ch) | Un personaje, espacio, tabulador, la forma de alimentación, o un espacio en blanco Introduzca, por ejemplo |
isupper (ch) | Una letra mayúscula del alfabeto, LA a Z |
isxdigit (ch) | Ver ishexnumber () |
Función | Devoluciones |
---|---|
ToASCII (ch) | El valor de código ASCII del ch, en el rango de 0 a 127 |
bajar(ch) | La minúscula del carácter ch |
toupper (ch) | La mayúscula del carácter ch |
En términos generales, funciones de prueba comienzan con es, y funciones de conversión comienzan con a.
Cada función CTYPE acepta un valor int como el argumento, representado por la variable ch en las Tablas 13-1 y 13-2. Estos no son funciones de char!
Cada función CTYPE devuelve un valor int. Para las funciones que devuelven valores VERDADERO o FALSO lógicas, falsa es 0, y la verdad es un valor distinto de cero.
Holt para probar caracteres
Las funciones CType vienen en más útil cuando las pruebas de entrada, la determinación de que la información correcta se escribe, o tirando de la información requerida de basura. El código en Estadística texto ilustra cómo un programa puede escanear texto, arrebatará ciertos atributos, y luego mostrar un resumen de esa información.
ESTADÍSTICAS DE TEXTO
#include #include int main () {frase char [] = "Cuando en el curso de los acontecimientos humanos se hace necesario para un pueblo disolver los vínculos políticos que lo han ligado a otro, y asumir entre los poderes de la tierra el puesto separado e igual a que las leyes de la naturaleza y del Dios de la naturaleza le dan derecho, un justo respeto al juicio de la humanidad exige que declare las causas que lo impulsan a la separación. "- int index, alfa, en blanco, punct-alfa = blanco = punct = 0 - / * recopilar datos * / index = 0-while(phrase[index]){if(isalpha(phrase[index]))alpha++-if(isblank(phrase[index]))blank++-if(ispunct(phrase[index]))punct++-index++-}/* resultados de impresión * / printf (""% s " n", frase) -puts ("Estadísticas:") - printf ("% d caracteres alfabéticos n", alfa) -printf ("% d n espacios en blanco ", en blanco) -printf ("% d puntuacion símbolos n ", punct) -Retorno (0) -}
Estadísticas de texto puede parecer mucho, pero es no- el [] cadena frase declarada en la línea 6 puede ser cualquier cosa que te guste - cualquier texto, un poema o una quintilla sucio. Debe ser lo suficientemente largo para tener un puñado de personajes interesantes. Tenga en cuenta que si bien el texto se ajusta y guiones en este texto, sólo debe escribir una larga línea de texto en el código.
Este código también hace un inicialización de pandillas:
alfa = blanco = punct = 0-
Debido a que cada una de esas variables se debe establecer en 0, utiliza varios operadores de asignación en la misma línea y cumplir con la tarea de un solo golpe.
La carne de la operación del programa se lleva a cabo a partir de la observación recopilar datos. Un bucle while pasos a través de cada carácter de la cadena. La condición para que el bucle while es la frase [Índice]. Esa evaluación es cierto para cada carácter en la matriz a excepción de la última, el carácter nulo, lo que se evalúa como FALSO y se detiene el bucle.
Funciones CType se utilizan en caso de declaraciones como cada personaje se evalúa en las líneas 17, 19 y 21. En if-else pruebas, todos los personajes deben ser revisados. Cuando se encuentra una coincidencia positiva o TRUE, se incrementa una variable de contador.
Ejercicio 1: Escriba el código fuente de la Estadística de texto en su editor. Genere y ejecute.
Ejercicio 2: Modificar el código fuente de la Estadística de texto de manera que también se hacen pruebas para el recuento de letras mayúsculas y minúsculas. Mostrar los resultados también.
Ejercicio 3: Añadir un código a su solución al Ejercicio 2 de modo que una cuenta final de todos los caracteres del texto (longitud del texto) se muestra como la estadística final.
Cómo cambiar los caracteres
Las funciones CType que comienzan con a se utilizan para convertir caracteres. La más común de estas funciones son toupper () y tolower (), que son útiles cuando se prueba de entrada. Como ejemplo, consideremos el problema típico yorn, ilustrada en A Yorn problema.
UN PROBLEMA YORN
#include #include int main () {char respuesta: printf ("¿Quieres volar la luna?") -scanf ("% c", la respuesta) -Respuesta = toupper (respuesta) -si (respuesta == ' Y ') puts ("BOOM!") - elseputs ("La luna es seguro") - retorno (0) -}
Yorn se programador hable por un sí o ninguna situación: El usuario se le pide que escriba Y para Sí o N para No. ¿La persona tiene que escribir Y o Y? O puede que escriba N o n o se considera cualquier tecla no Y No?
En Un Problema Yorn, línea 10 utiliza toupper () para convertir la entrada de caracteres en mayúsculas. De esta manera, sólo una única condición si se requiere para la prueba de Y o de entrada y.
Ejercicio 4: Crear un nuevo proyecto con el código fuente se muestra en A Yorn problema. Genere y ejecute.
Ejercicio 5: Modifique el código fuente para que aparezca ese texto cuando el usuario ni Y ni N.
Ejercicio 6: Escriba un programa que cambia todas las letras mayúsculas en una cadena de texto en minúsculas y cambia las letras minúsculas a mayúsculas. Mostrar los resultados.