Hola, queria haceros una pregunta haber si me podeis ayudar, que yo no encuentro la solucion
Tengo un programa cuya funcion es coger una cadena y partirla en subcadenas, estas subcadenas constan de 12bytes, el 1º y el 2º podriamos decir que son estaticos, y donde se copia las subcadenas es apartir del byte 3 en adelante(10bytes)
Primero incializo los arrays y todo a '0'.
Lo de copiar los substrings lo hago mediante la funcion memcpy
for (i=0;i<=arrays;i++){
memcpy(bloques[i].cadena+2, texto+y, 10);
bloques[i].cadena[0] = '4';
if (y==arrays){
bloques[i].cadena[1] = '1';
}else bloques[i].cadena[1] = '0';
y= y+10;
}
De esta forma la cadena se va copiando en intervalos de 10bytes, cosa que hace perfectamente pero sucede que cuando voy a imprimir las subcadenas (con otro for) si la cadena tiene 10bytes al imprimir (por pantalla) sale un 0 al final, esto no ocurre si la cadena tiene 9 o menos bytes.
Alguna idea de porque puede ser?
PD: Se me ocurrio incializar todos los arrays a 'x' haber que pasaba, y al imprimir en vez de un '0' al final, salia una 'x'.
Espero haberme explicado, si no entendeis algo o preferis que ponga todo el codigo lo pongo
Muchas gracias!