necesitaba una pequeña utilidad que permitiera la rápida conversión de texto a hexadecimal,
y nada mejor que uno mismo haga las cosas.
aquí el código:
/* conversor a hexadecimal
usage: hex word-to-convert [max length: 50]
---> example: hex blozzter
¡< blozzter >!
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char usage()
{
printf("\t ---> usage: hex word-to-convert [max length: 50]\n\t ---> example: hex blozzter\n\n");
}
int main(int argc, char *argv[])
{
char *cadena;
int i, tam;
if (argc == 2) { //me aseguro que se le haya pasado solo un argumento
cadena = argv[1];
tam = strlen(cadena); //llamo a la funcion que calcula el tamaño
if (tam <= 50) { //admito un maximo de 50 caracteres
printf("%s ==>\t", cadena);
i = 0;
while (cadena[i] != '\0') { //mientras la cadena no termine, imprimo en hexadecimal ( %x )
printf("%x", cadena[i]);
i++;
}
printf("\n");
}
else {
usage();
}
}
else {
usage();
}
return 0;
}
Jeje muy bueno, pero no es necesario declarar la variable tam, ni la variable cadena x) mejor ahorratelas
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char usage()
{
printf("\t ---> usage: hex word-to-convert [max length: 50]\n\t ---> example: hex blozzter\n\n");
}
int main(int argc, char *argv[])
{
int i;
if (argc == 2) { //me aseguro que se le haya pasado solo un argumento
if (strlen(argv[1]) <= 50) { //admito un maximo de 50 caracteres
printf("%s ==>\t", argv[1]);
for(i=0;argv[1][i]!='\0';i++) { //mientras la cadena no termine, imprimo en hexadecimal ( %x )
printf("%X", argv[1][i]);
}
printf("\n");
}
else {
usage();
}
}
else {
usage();
}
return 0;
}
:D saludos.!
tienes razón, muchas gracias por las sugerencias.
saludos.