Mr. Simmons is on the right track and k5054 also. I use a variant of that to do it :
sprintf( outputBuffer, "%020I64d", sixtyfourbitvalue );
That will be twenty digits with leading zeros.
Incidentally, in stdint.h it has this definition :
#define INT64_MAX 9223372036854775807i64
so you might want to try a similar format. That is, if you are using visual studio. Those are not standard formats for 64-bit values.
For a fun exercise, try writing a function to accept a 64-bit integer and load a text buffer with a comma-separated string. For example: 1,234,456,890. Depending on your location, you might use dots for separating the thousands so for bonus credit use the locale to select the appropriate separation character.