elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  cómo comparar una variable caracter con un código ascii en C
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: cómo comparar una variable caracter con un código ascii en C  (Leído 18,491 veces)
etcheverrypablol

Desconectado Desconectado

Mensajes: 37


¡Hoy mejor que ayer, mañana mejor que hoy!


Ver Perfil
cómo comparar una variable caracter con un código ascii en C
« en: 2 Febrero 2016, 07:56 am »

Hola gente.

Tengo que resolver el siguiente problema:

"Determinar si el carácter asociado a un código introsucido por teclado corresponde a un carácter alfabético, dígito, de puntuación, especial o no imprimible".

Para ello, lo que quiero hacer es comparar la variable donde se almacena el caracter introducido con un cierto rango de caracteres expresados en código ascii, pero no encuentro cómo.

En pascal, si no mal recuerdo, se hace uso del símobolo #, pero en C nosé.

Algunos puede aportar algo para resolver este dilema? jaja

Desde ya gracias!



En línea

MAFUS


Desconectado Desconectado

Mensajes: 1.545



Ver Perfil
Re: cómo comparar una variable caracter con un código ascii en C
« Respuesta #1 en: 2 Febrero 2016, 09:37 am »

Mira las funciones de la libreria ctype, está todo lo que buscas.


En línea

fary
Colaborador
***
Desconectado Desconectado

Mensajes: 958



Ver Perfil WWW
Re: cómo comparar una variable caracter con un código ascii en C
« Respuesta #2 en: 2 Febrero 2016, 10:19 am »

Puedes programar tu mismo la funcion. Ya sabes que cada carácter equivale a un número del 0 al 255.

Saludos.
En línea

Un byte a la izquierda.
MAFUS


Desconectado Desconectado

Mensajes: 1.545



Ver Perfil
Re: cómo comparar una variable caracter con un código ascii en C
« Respuesta #3 en: 2 Febrero 2016, 11:15 am »

Soy de la opinión de que reinventar la rueda es un mal hábito.  Las librerías estándar suelen estar lo más optimizadas y libres de errores posible.
En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.414


ASMático


Ver Perfil WWW
Re: cómo comparar una variable caracter con un código ascii en C
« Respuesta #4 en: 2 Febrero 2016, 19:28 pm »

Soy de la opinión de que reinventar la rueda es un mal hábito.  Las librerías estándar suelen estar lo más optimizadas y libres de errores posible.

Sin duda, importante a la hora de programar proyectos serios, pero no a la hora de aprender lenguajes.


Luego, etchevarrypablol, ten en cuenta que un caracter en C, es un dato numérico, sea cual sea la forma mediante la cual, funciones como printf lo muetran en consola. Siendo así, la forma de conocer si un valor está en un rango:
Código
  1. char c = 'k';
  2. if('a'<=c && c<='z') ...

Bueno, ten en cuenta que 'a' es un caracter, y "a" es una cadena, por si acaso.
En línea

furciorifa

Desconectado Desconectado

Mensajes: 94


Ver Perfil
Re: cómo comparar una variable caracter con un código ascii en C
« Respuesta #5 en: 3 Febrero 2016, 05:05 am »

Estoy de acuerdo que reinventar la rueda es malo, pero también ayuda mucho a saber cómo funcionan las cosas en cualquier lenguaje.
En línea

etcheverrypablol

Desconectado Desconectado

Mensajes: 37


¡Hoy mejor que ayer, mañana mejor que hoy!


Ver Perfil
Re: cómo comparar una variable caracter con un código ascii en C
« Respuesta #6 en: 5 Febrero 2016, 10:14 am »

Hola chicos, disculpen la demora en responder.

Mafus, se que puede haber una librería, pero en mi caso, yo quiero hacer la función. En ese sentido, se que cada caracter se asocia con un número del 0 al 255, pero no sé como expresarlo en el código.



fary, cómo hago para comparar la variable caracter con un rango de caracteres expresados en el cógio ascii sabiendo qué se asocian con esos números.

ivancea96, sé que se puede hacer de esa forma, pero no es la que busco.

Debería ser algo así:
 if(var>#70 && var<#90)
{
   puts("El cacarter es tal cosa");
}
« Última modificación: 5 Febrero 2016, 10:28 am por Eternal Idol » En línea

fary
Colaborador
***
Desconectado Desconectado

Mensajes: 958



Ver Perfil WWW
Re: cómo comparar una variable caracter con un código ascii en C
« Respuesta #7 en: 5 Febrero 2016, 10:28 am »

Seguro que mirando la tabla ascii lo consigues hacer. Son solo unas comparaciones con if...


En línea

Un byte a la izquierda.
etcheverrypablol

Desconectado Desconectado

Mensajes: 37


¡Hoy mejor que ayer, mañana mejor que hoy!


Ver Perfil
Re: cómo comparar una variable caracter con un código ascii en C
« Respuesta #8 en: 5 Febrero 2016, 10:35 am »

Es que no puedo poner
  if(78){
     puts("El caracter es una N");
  }
Lo que preciso saber es qué se ponde adentro de esa condicion, seguro que es algo muy simple, como anteponer un símbolo delante del número que hace referencia al código ascii.

Supongo eso, porque en otros lenguajes como en pascal se hace eso, aunque soy conciente que en C puede ser totalmente distinto.

En línea

fary
Colaborador
***
Desconectado Desconectado

Mensajes: 958



Ver Perfil WWW
Re: cómo comparar una variable caracter con un código ascii en C
« Respuesta #9 en: 5 Febrero 2016, 10:59 am »

Es que no puedo poner
  if(78){
     puts("El caracter es una N");
  }
Lo que preciso saber es qué se ponde adentro de esa condicion, seguro que es algo muy simple, como anteponer un símbolo delante del número que hace referencia al código ascii.

Supongo eso, porque en otros lenguajes como en pascal se hace eso, aunque soy conciente que en C puede ser totalmente distinto.

Yo necesito saber como hacer una consulta en SQL, pero si no me pongo a leer nada de SQL, ¿Cómo lo espero hacer?.

Ta pasa lo mismo pero en C, si no sabes hacer una simple comparación con un if, ¿Qué sabes de C?

Código
  1. char c = 78;
  2.  
  3. if (c == 78)
  4. {
  5.    printf("Si, es una N");
  6. }
  7.  
En línea

Un byte a la izquierda.
Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Como sacar el ultimo caracter de una variable
Programación Visual Basic
Edu 8 4,696 Último mensaje 5 Septiembre 2010, 19:29 pm
por Edu
Comparar cadena con un caracter ascii
Programación C/C++
d00ze13 2 10,691 Último mensaje 9 Marzo 2011, 10:30 am
por Akai
¿Cómo evitar el ingreso de caracter en variable entera?
.NET (C#, VB.NET, ASP)
Dryken 8 3,409 Último mensaje 26 Noviembre 2012, 20:21 pm
por Dryken
cómo comparar una variable string con una cadena en C
Programación C/C++
etcheverrypablol 6 3,592 Último mensaje 6 Febrero 2016, 18:35 pm
por fary
Comparar variable de un comando con variable obtenida por read
Scripting
izi4me 1 326 Último mensaje 31 Diciembre 2021, 18:31 pm
por izi4me
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines