"const unsigned char str[13];" deklariert eine Konstante, die initialisiert werden muss und dann nicht mehr verändert werden kann (z. B. mit sprintf).
Ändere das in
"unsigned char str[13];"
btw: der C++-Compiler gibt in solchen Fällen sehr hilfreiche Warn- oder Fehlerhinweise aus. Ich benutze -u. a. aus diesem Grund- grundsätzlich den C++-Compiler. Der C-Compiler ist diesbezüglich ziemlich wortkarg.