Ayuda con variables. [SOLUCIONADO POR NOTER]


tengo un rutina para guardar eventos en un array maximo 16 posiciones.
code: [select]
char* eventos[16] ={"1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16"};

le puse valores para probarlo y bien arranco y la llamo asi

eventonuevo("prendi luces");   // o lo que sea


y la funcion hace lo siguiente

code: [select]
void eventonuevo( char* quepaso )
{
    char horayevento[128];
    char* hora = reloj.time();    
    for (int bucle=1; bucle<16; bucle++)
    {
      eventos[bucle-1]=eventos[bucle];
    }
    strncpy(horayevento, reloj.time(), sizeof(horayevento));
    strncat(horayevento, quepaso, (sizeof(horayevento) - strlen(horayevento)) );

    //eventos[15]=horayevento;

    eventos[15]=quepaso;
}


el tema esta que de esa forma anda perfecto, pero yo necesito agregarle la hora delante por eso esta comentada la linea     eventos[15]=horayevento;

si bien horayevento me devuelve perfectamente la hora y el evento, no se x q motivo me pisa todos los valores anteriores, les muestro cuando arranca con 1 evento y despues de hacer 4 eventos me pisa siempre con el ultimo valor todos los demas... muy raro, incluso le pone la misma hora y texto los ultimos eventos, obviamente el problema debe estar en esos  strncpy y strncat porque lo encontre en internet si bien da el resultado no se que pasa que me hace fallar el array pisando los valores.




lo que quieres hacer es un log de alarmas.

y el código completo donde esta?
leete las normas del foro asi verás que para ayudarte se debe entregar siempre la mejor información.

pero mientras te consulto: pretendes crear un nombre de archivo con 18:44:19protector como nombre?

yo veo que tu rutina carga el evento al final de la filo(first in last out) y en cada paso la desplaza al punto anterior de la pila. si tienes un error en el llamado esta rutina, en cadapaso ira llenando la pila con el mismo valor.
mira ver si es por ahi.


Arduino Forum > International > Español > Software (Moderators: surbyte, Hector_A) > Ayuda con variables. [SOLUCIONADO POR NOTER]


arduino

Comments