tiagokos Postado Março 27, 2011 Denunciar Share Postado Março 27, 2011 (editado) Gostaria de saber como faço para mostrar o valor de um endereço em hexadecimal.(No meu exemplo eu mostro primeiro o endereço do campo e depois mostro o valor do campo em hexa...)Por exemplo:char var[] = "BLABLABLA"; dump(var, var+strlen(var)); ... void dump(void *first, void *last) { int i; for (i = 0; i < last - first; i++) { //Endereço printf("%p\n", first + i); //Dados printf("Dados:%x\n", &(first + i)); } } Editado Março 27, 2011 por tiagokos Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 tiagokos Postado Março 27, 2011 Autor Denunciar Share Postado Março 27, 2011 Consegui usando:printf("%X\n", *(char *)(first + i));Mas quando tento usar valores INTint var = 127;dump(&var, &var+1);Porque não posso usar *(int *)(first + i)? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kuroi Postado Março 28, 2011 Denunciar Share Postado Março 28, 2011 hum, mas o q exatamente você espera q apareca quando você passar como int??esse codigo ta dando algum erro?? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 tiagokos Postado Março 28, 2011 Autor Denunciar Share Postado Março 28, 2011 hum, mas o q exatamente você espera q apareca quando você passar como int??esse codigo ta dando algum erro??Ao invés de imprimir os valores 1, 2, 7, é impresso apenas 0's. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kuroi Postado Março 28, 2011 Denunciar Share Postado Março 28, 2011 acontece q dentro de uma variavel int não fica gravado o texto 127 por extenso e sim o valor binario dele.o valor 127 deve ocupar somente o primeiro byte, e os outros 3 bytes (já q uma variavel int costuma ocupar 4 bytes), imagino q estejam vazios e por isso aparece 0.realmente com int não vai dar pra fazer (daria, mas com um algoritmo completamente diferente ne). mesmo se a string for numerica, você tera q usar array de char mesmo. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
tiagokos
Gostaria de saber como faço para mostrar o valor de um endereço em hexadecimal.
(No meu exemplo eu mostro primeiro o endereço do campo e depois mostro o valor do campo em hexa...)
Por exemplo:
Editado por tiagokosLink para o comentário
Compartilhar em outros sites
4 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.