Foros del Web » Programación para mayores de 30 ;) » C/C++ »

duda unsigned char*

Estas en el tema de duda unsigned char* en el foro de C/C++ en Foros del Web. Hola Estoy trabajando con una api de terceros la cual tiene una funcion que recibe 2 valores y establece los resultados en estos: unsigned char* ...
  #1 (permalink)  
Antiguo 23/04/2012, 17:22
 
Fecha de Ingreso: marzo-2012
Mensajes: 8
Antigüedad: 12 años, 1 mes
Puntos: 0
duda unsigned char*

Hola

Estoy trabajando con una api de terceros la cual tiene una funcion que recibe 2 valores y establece los resultados en estos:

unsigned char* data;
unsigned int size_data;

cuando imprimo por pantalla el resultado de size_data por ejemplo me da 200, pero si le doy
sizeof a data me da 4, alguien sabe porque sucede esto?

gracias
  #2 (permalink)  
Antiguo 23/04/2012, 17:29
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años
Puntos: 228
Respuesta: duda unsigned char*

Porque data es un puntero a char. Los punteros ocupan 4 bytes en memoria...Otra cosa totalmente diferente es la memoria a donde apunta el puntero. Esa memoria no se puede saber su longitud. Es por eso que uno de los argumentos es un entero informando su longitud.

Saludos
  #3 (permalink)  
Antiguo 23/04/2012, 17:31
 
Fecha de Ingreso: marzo-2012
Mensajes: 8
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: duda unsigned char*

muchas gracias por la explicación :)
  #4 (permalink)  
Antiguo 23/04/2012, 17:57
 
Fecha de Ingreso: marzo-2012
Mensajes: 8
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: duda unsigned char*

Cita:
Iniciado por sam90 Ver Mensaje
Porque data es un puntero a char. Los punteros ocupan 4 bytes en memoria...Otra cosa totalmente diferente es la memoria a donde apunta el puntero. Esa memoria no se puede saber su longitud. Es por eso que uno de los argumentos es un entero informando su longitud.

Saludos

una duda mas respecto al mismo caso, sabes de alguna manera en que pueda serializar el valor de data para poder almacenarlo en una base de datos, se me ocurre convertirlo en base64 sin embargo no se como se haria en c y con este tipo de dato.

saludos
  #5 (permalink)  
Antiguo 24/04/2012, 05:11
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años
Puntos: 228
Respuesta: duda unsigned char*

Que es lo que llega dentro de esa variable? Podrias almacenarlo en un blob de la base de datos o como dijiste convertirlo a base64 para que quede tipo cadena de caracteres...

Saludos

Etiquetas: funcion, int, unsigned
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:10.