C/Visual C - ayuda con memcpy

 
Vista:

ayuda con memcpy

Publicado por Nuria (2 intervenciones) el 27/11/2002 16:23:20
Hola a todos,

Tengo un array de caracteres de 120 y una estructura de 8 bytes y necesito recorrer el array y guardar la información en la estructura para hacer una comprobaciones. No se muy bien por que el siguiente código no funciona. Alguna idea??

unsigned char informacion[120];

struct i{
char j,q;
}INF;

INF I;
int k=0;
/* guardo datos de un archivo en un información */

while (!terminar){

memcpy(&I,&informacion[k],8);

if (NoSeCumpleUnaCondicion)

terminar=1;
else
k++;
}

Bueno, esta no es la función, pero para que entendais mi problema lo he simplificado.
El problema es que la varible I la primera vez si que guarda los primeros 8 bytes de información pero aunque incremente el valor de k no guarda los siguientes bytes.

Muchas Gracias

Nuria

}


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:ayuda con memcpy

Publicado por Alvaro (122 intervenciones) el 27/11/2002 21:18:09
Por que dices que tu estructura tiene 8 bytes?
tu estructura está formada por dos variables char así que su tamaño debiera ser 2 bytes.
De todos modos mejor utiliza sizeof(INF) en vez de 8 explicito.
comprueba tambien el incremento de k.
ahora lo estas incrementando 1 byte.
si tu string tiene "ABCDEFGHI"
ahora estas haciendo lo sgte:
primera iteracion:
i == {'A', 'B'}
Segunda iteracion:
i == {'B', 'C'}
etc...
SUERTE...
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:ayuda con memcpy

Publicado por Nuria (2 intervenciones) el 28/11/2002 22:53:41
Hola Alberto,

Ayer conteste a tu mensaje pero no se por que no se envió bien. Me ha sido de mucha ayuda tu observación del memcpy. Realmente la función que estoy haciendo no es la escrita en mi mensaje.
Tengo un array de caracteres de 1024 y tengo que copiar en una estructura de 64 bytes en 64 y hacer unas comprobaciones. Todavía no se muy bien por que pero cuando llevo + o - 9 lecturas empiezo a obtener mal los datos. Me imagino que es por lo que me has dicho.

Gracias
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