strcpy(destination, source) -- yours was backwards.
Warning when using strcpy() - when you declare the character array to hold the string declare it to be long enough to hold the longest string it will ever hold. Otherwise when you do a strcpy() of a longer string into the character array you're going to go past the end of the memory reserved for that string and corrupt something else in memory and it will end in tears.
void setup()
{
Serial.begin(9600);
char foo[] = "hi";
Serial.println(foo);
strcpy( foo, "bye" ); // BAD WRONG PAIN CORRUPTING DATA
}
My thinking is the wrong way around , but I guess it is logical.
So far I know what I`m putting into the string so I know the size to the byte . are I wrong have to error check or get more byte to the string .
But that is so hard to do when you have so little of them .
Running out of ram faster than the eprom / program.
char bcd_string[]="12:23:45";
int rtc_address = B1101000;
int rtc_bcd[7];
int rtc_dec[3];
boolean alarm_set[3];
int alarm_on[3][3];
int alarm_off[3][3];