Autor
|
Tema: como llevo texto a codigo hexadecimal? (Leído 3,957 veces)
|
0x3c
Desconectado
Mensajes: 108
learning, making mistakes, having fun
|
buenas, yo por aqui de nuevo poblando el foro con mis dudas y preguntas ..como ya dije en otro post estoy siguien un libro y en uno de sus capitulos esta este codigo: #include <stdio.h>
int main() { char key; printf("Press any key on your keyboard:"); key=getchar(); printf("You pressed the %c key\n",key); printf("Its ASCII value is %d.\n"); return(0); }
mi duda es, ya que la ultima printf() muestra el valor hexadecimal del caracter que presiono en el teclado puedo hacer lo mismo con una cantidad mayor de texto pero como? solo debo modificar el tipo de variable? o requiere algun tipo de modificacion mas amplia? saludos
|
|
|
En línea
|
Si Vis Pacem, Para Bellum.Another Legend Has Fallen
|
|
|
0xDani
Desconectado
Mensajes: 1.077
|
Si quieres sacar una cadena en hexadecimal (por cierto el especificador de formato hexadecimal es %x, no %d) solo tienes que sacar cada miembro de la cadena en hexadecimal. int printhexa(const char *s) { int ret=0; while(*s) { s++; } return ret; }
|
|
|
En línea
|
I keep searching for something that I never seem to find, but maybe I won't, because I left it all behind!
I code for $$$ Hago trabajos en C/C++ Contactar por PM
|
|
|
rir3760
Desconectado
Mensajes: 1.639
|
buenas, yo por aqui de nuevo poblando el foro con mis dudas y preguntas ..como ya dije en otro post estoy siguien un libro y en uno de sus capitulos ... Revisa con cuidado el libro para asegurarte del tipo de la variable "key", este debe ser de tipo "int" ya que ese es el valor de retorno de la función getchar. Un saludo
|
|
|
En línea
|
C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly. -- Kernighan & Ritchie, The C programming language
|
|
|
0x3c
Desconectado
Mensajes: 108
learning, making mistakes, having fun
|
0xDani: int printhexa(const char *s) { int ret=0; while(*s) { ret += printf("%x", *s); s++; } return ret; }
gracias por la ayuda, pero me puedes explicar un poco tu codigo? solo puedo entender algunas lineas... rir37si eso es lo que dice el libro..que como las computadoras no distinguen entre A y a que ellas solo ven binario.. saludos
|
|
|
En línea
|
Si Vis Pacem, Para Bellum.Another Legend Has Fallen
|
|
|
0xDani
Desconectado
Mensajes: 1.077
|
int printhexa(const char *s) { int ret=0; while(*s) { s++; } return ret; }
Bien, esta funcion recibe un puntero a la primera direccion de memoria de la cadena a imprimir, y retorna el numero de bytes escritos. Como las cadenas en C estan delimitadas con un caracter nulo ('\0' o simplemente 0) lo que hace es imprimir el primer caracter de la cadena si no es un nulo, despues pasar al siguiente caracter, incrementando el puntero (s++;), con esto hace que apunte al siguiente caracter, y vuelve a iterar. Entretanto la variable ret va acumulando el numero de bytes escritos, que es lo que retorna printf(). Saludos.
|
|
|
En línea
|
I keep searching for something that I never seem to find, but maybe I won't, because I left it all behind!
I code for $$$ Hago trabajos en C/C++ Contactar por PM
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Ejecutar Codigo Almacenado como texto en una Base de Datos
Programación Visual Basic
|
Nospheratus
|
4
|
2,522
|
3 Junio 2005, 09:00 am
por maxnet
|
|
|
COMO DECODIFICAR CÓDIGO Hexadecimal
« 1 2 3 4 »
Hacking
|
hkr_1900
|
32
|
58,514
|
31 Enero 2014, 02:24 am
por jstylee89
|
|
|
Problema con WDASM no esta en codigo hexadecimal
Ingeniería Inversa
|
Knuckle--puncher
|
1
|
2,204
|
6 Enero 2006, 04:09 am
por pERICOTE
|
|
|
Editar Codigo Hexadecimal desde mi pograma VB
Programación Visual Basic
|
GaMeouT
|
8
|
6,086
|
4 Febrero 2008, 12:55 pm
por Hendrix
|
|
|
Pasar clave WPA-PSK de hexadecimal a texto
« 1 2 »
Hacking Wireless
|
Peddro
|
10
|
79,662
|
2 Octubre 2012, 18:15 pm
por sferia82
|
|