Ich würde noch den memcpy-Aufruf folgendermaßen schreiben...
...denn memcpy erfordert, dass beide Blöcke mindestens die übergebene Länge haben.
Wenn man davon ausgeht, dass es nullterminierte C-Strings sind (was die Parameter date und chDate sein können und im Grunde sind), wäre strlen angebrachter.
Eigentlich gibt es aber überhaupt keinen Grund, wieso du hier nicht Strings anstelle von C-Strings verwenden solltest.