You're using an uninitialized value in the code that you've posted, which would explain why you have this problem. The following code results in what you're looking for:
#include <stdio.h>
#include <time.h>
int
main(int argc, char *argv[]) {
char ft[256];
struct tm *tmp;
time_t curtime;
time(&curtime);
tmp = localtime(&curtime);
strftime(ft, 256, "%D - %T %s", tmp);
printf("%s\n", ft);
return(0);
}
Then, compile and run the example:
cc -o time_ex time_ex.c
./time_ex
02/26/09 - 11:26:34 1235665594
ETA: Drop the %s if you just want the local time without UNIX time after it, of course.