elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección.


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse)
| | |-+  Problema conversión Unsigned char a char
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Problema conversión Unsigned char a char  (Leído 1,022 veces)
juliodiez

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Problema conversión Unsigned char a char
« en: 19 Enero 2013, 01:00 »

Hola a todos,

resulta que tengo un problema en la conversión de un array de caracteres de unsigned char, y lo quería convertir a un array char o a un String^.

El array es este, y sí contiene datos


Código:
unsigned char buf[10];
char answer[10];

y trato de hacer el cast de esta forma, pero el nuevo array answer queda vacío en ambas.


Código:
for(i=0;i<10;i++)
{
   answer[i]=(char)buf[i];
                  
}


answer=(char *)buf;


Si alguno me pudierais ayudar os lo agradecería. Un saludo.


« Última modificación: 19 Enero 2013, 03:57 por juliodiez » En línea

durasno


Desconectado Desconectado

Mensajes: 373


Ver Perfil
Re: Problema conversión Unsigned char a char
« Respuesta #1 en: 19 Enero 2013, 03:51 »

Hola! answer como esta declarado???? Si answer esta declarado como:
Código
  1. answer[N]; // N tamaño del arreglo
hacer esto es un error:
Código
  1. answer=(char *)buf;


Subi mas codigo para ayudarte mejor.. y a q llamas "vacio"??

SAludos

PD: si estas en C++ existe la clase string


En línea

Ahorrate una pregunta, lee el man
juliodiez

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: Problema conversión Unsigned char a char
« Respuesta #2 en: 19 Enero 2013, 03:57 »

Sí, lo tengo declarado así,

Código:
char answer[10]="";

Vacío porque al imprimirlo por pantalla no muestra nada.

Sí, estoy en C++. Alguna idea? gracias!
« Última modificación: 19 Enero 2013, 03:59 por juliodiez » En línea

durasno


Desconectado Desconectado

Mensajes: 373


Ver Perfil
Re: Problema conversión Unsigned char a char
« Respuesta #3 en: 19 Enero 2013, 04:13 »

Entonces no veo ningun inconveniente, ya que esto deberia funcionar:
Código
  1. for(i=0;i<10;i++)
  2. {
  3.   answer[i]=(char)buf[i];
  4.  
  5. }

Subi el codigo q tenes..Saludos


PD: tenes la clase string
En línea

Ahorrate una pregunta, lee el man
juliodiez

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: Problema conversión Unsigned char a char
« Respuesta #4 en: 19 Enero 2013, 04:34 »

Con la clase string sería algo así? Tampoco me muestra nada.

Código:
std::string answer1;

for(i=0;i<10;i++)
{
    answer1.push_back((char)buf[i]);
                  
}

Te pongo algo más de código, que va antes del código de  antes. res siempre es 10, que es el número de bytes leidos.

Código:
memset(buf,0x00,sizeof(buf));


res = 0; //Number of bytes received

res = hid_read(handle, buf, sizeof(buf));

Gracias por tu tiempo!!

« Última modificación: 19 Enero 2013, 04:35 por juliodiez » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines