• Viernes 3 de Mayo de 2024, 06:10

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - chamber

Páginas: [1]
1
C/C++ / '0' al final del array
« en: Lunes 27 de Octubre de 2008, 19:08 »
Hola, queria haceros una pregunta haber si me podeis ayudar, que yo no encuentro la solucion  :ouch:

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

Código: Text
  1. for (i=0;i<=arrays;i++){
  2.        memcpy(bloques[i].cadena+2, texto+y, 10);
  3.        bloques[i].cadena[0] = '4';
  4.        if (y==arrays){
  5.           bloques[i].cadena[1] = '1';
  6.        }else bloques[i].cadena[1] = '0';
  7.         y= y+10;
  8. }
  9.  

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!

Páginas: [1]