Como se puede hacer memcpy y socket

02/04/2004 - 22:13 por David | Informe spam
Hola, soy nuevo en esto del C# y queria si alguien me pueden ayudar o dar
alguna pista sobre como puedo mover por ejemplo un int32 o un double a un
array de byte?

algo que seria en C como

int a = 1000;
char b[4];
memcpy(b,&a,sizeof(int));


Muchas gracias.

Preguntas similare

Leer las respuestas

#1 Carlos Rodríguez
02/04/2004 - 22:55 | Informe spam
Hola David,
Si entiendo bien creo que esto te puede ayudar
int a = 1000;
byte[] b= System.Text.Encoding.ASCII.GetBytes(a.ToString());


"David" escribió en el mensaje
news:kPjbc.4340733$
Hola, soy nuevo en esto del C# y queria si alguien me pueden ayudar o dar
alguna pista sobre como puedo mover por ejemplo un int32 o un double a un
array de byte?

algo que seria en C como

int a = 1000;
char b[4];
memcpy(b,&a,sizeof(int));


Muchas gracias.


Respuesta Responder a este mensaje
#2 David
03/04/2004 - 00:16 | Informe spam
Gracias, tambie he encontrado esto que si no me equivoco es similar

System.UInt32 uValor = 1234;
byte[] temp = System.BitConverter.GetBytes(uValor);

Muchas gracias, estoy empezando con esto y al principio cuesta un poco el
cambio de filosofia,


"Carlos Rodríguez" escribió en el mensaje
news:
Hola David,
Si entiendo bien creo que esto te puede ayudar
int a = 1000;
byte[] b= System.Text.Encoding.ASCII.GetBytes(a.ToString());

Respuesta Responder a este mensaje
#3 Pedro Luna Montalvo
03/04/2004 - 17:49 | Informe spam
Si no me equivoco, para lo que quiere hacer David, esto no funciona.

Esto te retorna un arreglo de 4 elementos, el primero con el codigo ASCII de
"1", y los otros tres con el codigo ASCII de "0".

En su lugar, checa la clase BitConverter.

Pedro Luna
Gye, Ecu


"Carlos Rodríguez" escribió en el mensaje
news:
Hola David,
Si entiendo bien creo que esto te puede ayudar
int a = 1000;
byte[] b= System.Text.Encoding.ASCII.GetBytes(a.ToString());


"David" escribió en el mensaje
news:kPjbc.4340733$
> Hola, soy nuevo en esto del C# y queria si alguien me pueden ayudar o


dar
> alguna pista sobre como puedo mover por ejemplo un int32 o un double a


un
> array de byte?
>
> algo que seria en C como
>
> int a = 1000;
> char b[4];
> memcpy(b,&a,sizeof(int));
>
>
> Muchas gracias.
>
>


Respuesta Responder a este mensaje
#4 David
04/04/2004 - 10:10 | Informe spam
Con esto:

System.UInt32 uValor = 0x11223344;
byte[] temp = System.BitConverter.GetBytes(uValor);

Si hace lo que quiero, me deja en el primer byte 0x44 en el segundo 0x33 y
asi hasta el último con el 0x11, exactamente como quiero
hasta invierte el orden de los bytes de menor a mayor peso (cosas de Intel),
efectivamente con

byte[] temp = System.Text.Encoding.ASCII.GetBytes(uValor.ToString());

Seria un equivalente a itoa de la biblioteca del c.

Yo lo que necesitaba es la primera opción ya que necesito compartir datos
entre diferentes sistemas.

Gracias de nuevo a todos.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida