Título: Problema Incrementar puntero Publicado por: x64core en 16 Junio 2012, 11:39 am Buenas a todos vengo con este codigo curioso, estaba codeando y tenia problemas para acceder a los campos, mi logica me decia
una cosa XD, vean: Código: #include <Windows.h> pero por ejemplo si el puntero temp lo quiero incrementar +2 como seria? ojo no quiero incremntar 2 posiciones sino simplemente sumarle 2... intente hacerle un casting de char* pero no funciono :| alguien sabe? ED: ( 5 min despues XD ) si funciono con el casting de unsigned char* haha, siempre en la madrugada me salen estos pequeños errores, quiza e sueño XD Título: Re: Problema Incrementar puntero Publicado por: The Swash en 16 Junio 2012, 14:09 pm Hola,
Lo correcto sería: Código
Y digo lo correcto porque al menos así lo tengo entendido, lo que hace es convertir a entero para poder sumar como cualquier par de números y luego volver a hacer casting al tipo de puntero que es. Con esto lo que harías sería incrementar la dirección del puntero pero si quieres incrementar su contenido deberás "desreferenciarlo". Código
Un saludo, Iván Portilla. Título: Re: Problema Incrementar puntero Publicado por: david_BS en 16 Junio 2012, 17:01 pm hola por ahí este post te pueden ayudar
http://foro.elhacker.net/programacion_cc/tutorial_obtener_direccion_de_struct_dinamicamente-t358284.0.html en cuanto el tipo de dato BYTE (unsigned char) es el que necesitás para incrementar de a un byte lógicamente, aunque el tipo puntero ya sabés que es de 4 bytes para el tipo que sea. Título: Re: Problema Incrementar puntero Publicado por: Khronos14 en 16 Junio 2012, 17:09 pm Podrías hacer:
Código
Saludos. Título: Re: Problema Incrementar puntero Publicado por: x64core en 16 Junio 2012, 19:19 pm gracias a todos, los agradece (http://s14.postimage.org/jw2owid3x/smiley.gif)
Título: Re: Problema Incrementar puntero Publicado por: david_BS en 16 Junio 2012, 20:32 pm gracias a todos, los agradece (http://s14.postimage.org/jw2owid3x/smiley.gif) si querías incrementar el valor de un número sería como ya dijeron anteriormente: Código: int main() pero yo había entendido que querías incrementar el puntero en dos bytes, lo cual sería algo así (se muestran ambos casos según el tipo de puntero) : Código: int main() igualmente ya se que lo habías resuelto haciendo un cast al tipo BYTE, pero pongo esta explicación para otras personas que tengan dudas |