C/Visual C - recuperar el valor de los cuatro bytes de un long

 
Vista:

recuperar el valor de los cuatro bytes de un long

Publicado por Julian (2 intervenciones) el 04/08/2001 08:22:10
Agradezco la ayuda.
Tengo que enviar por un stream una cadena, pongamos de 15 posiciones. El asunto es que en las cuatro primeras posiciones tengo que colocar un long. La manera de hacerlo es colocar en cada una el valor hexadecimal de cada byte del long.

Mi problema consiste en la manera de tomarlos. Como puedo hacerlo?

Probé convertir el long a una cadena hexa y luego tomar de a dos caracteres y mediante strtoul(char, null,16) asignar el valor a cada una de las cuatro posiciones, pero esto trae el inconveniente que si el valor hexa es 0x00 me trunca la cadena.

Alguién podría indicarme la manera correcta?

muchas gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:recuperar el valor de los cuatro bytes de un lo

Publicado por manuel kobashigawa (79 intervenciones) el 04/08/2001 18:58:41
podrias especificar un poco mas?
no querras tratar el long como una string?
manuel
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:recuperar el valor de los cuatro bytes de un lo

Publicado por Julian (2 intervenciones) el 06/08/2001 01:06:08
no puedo tratar al long como un string porque el long (2345556) tiene mas de 4 posiciones. tampoco lo puedo tratar como un string hexa porque tambien tiene mas de 4 posiciones (23CA54).
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:??

Publicado por manuel kobashigawa (79 intervenciones) el 06/08/2001 06:35:50
podrias especificar en que caso lo quieres usar?
ahora si se trata de convertir el long a string, es posible hacerlo. puedes dar una revisada a la libreria stdio.
manuel
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:recuperar el valor de los cuatro bytes de un lo

Publicado por Endos (143 intervenciones) el 06/08/2001 23:49:33
unsigned long Numero;
unsigned char Byte[4];
int bucle;

for(bucle=0; bucle<4; bucle++)
{
Byte[bucle]=(unsigned char)Numero;
Numero>>=8;
}

Saludos,
Endos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar