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

Puntero de cadena a dword

Estas en el tema de Puntero de cadena a dword en el foro de C/C++ en Foros del Web. Tengo una cadena de texto definida con un puntero de cadena, así: Código: char *texto = "Esto es una cadena de texto de ejemplo"; Ahora ...
  #1 (permalink)  
Antiguo 06/06/2009, 09:45
 
Fecha de Ingreso: junio-2009
Mensajes: 4
Antigüedad: 14 años, 11 meses
Puntos: 0
Puntero de cadena a dword

Tengo una cadena de texto definida con un puntero de cadena, así:
Código:
char *texto = "Esto es una cadena de texto de ejemplo";
Ahora tengo un DWORD con un valor = 5
Código:
DWORD valor = 5;
Y finalmente he creado otro DWORD:
Código:
DWORD valor_final;
Código:
Código:
char *texto = "Esto es una cadena de texto de ejemplo";
DWORD valor = 5;
DWORD valor_final;
Por ej. para entenderlo, el puntero *texto equivale a 401000.
Pues bien yo lo que quiero conseguir es que:
valor_final = &texto + valor;

es decir, con 401000 pues valor_final = 401005.
¿Alguien me puede echar un cable? gracias
  #2 (permalink)  
Antiguo 06/06/2009, 16:53
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
Respuesta: Puntero de cadena a dword

Código:
valor_final = ((ULONG_PTR)texto) + valor;
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #3 (permalink)  
Antiguo 07/06/2009, 05:34
 
Fecha de Ingreso: junio-2009
Mensajes: 4
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: Puntero de cadena a dword

Eternal Idol muchísimas gracias, no sabes cómo te lo agradezco...

Quiero comentar que al poner directamente:
Código:
valor_final = ((ULONG_PTR)texto);
en VC me marcaba esta advertencia:
warning C4244: '=' : conversión de 'ULONG_PTR' a 'DWORD'; posible pérdida de datos.

Así que simplemente fue dejarlo así:
Código:
valor_final = (DWORD)((ULONG_PTR)texto);
y perfecto, ya no muestra adventencia ni nada.

Gracias
  #4 (permalink)  
Antiguo 07/06/2009, 06:09
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
Respuesta: Puntero de cadena a dword

De nadas; igual es un warning no un error, en realidad tendrias que usar un ULONG_PTR en lugar de un DWORD, este ultimo es siempre 4 bytes y el primero es 4 bytes en x86 y 8 bytes en x64
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
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 11:17.