посоветуйте, что почитать для поверхностного понимания философии языка Си.
я вот экспериментирую (Си+ООП из C++), решил сделать банальную функцию, возвращающую строку с датой:
char* sh_time::getTimeString() {
time_t t = time(0);
struct tm * now = localtime( & t );
//(*s) << printf("%d-%02d-%02d\n", now->tm_year + 1900, now->tm_mon + 1, now->tm_mday);
size_t sz;
sz = snprintf(NULL, 0, "%d-%02d-%02d\n", now->tm_year + 1900, now->tm_mon + 1, now->tm_mday);
s = (char *)malloc(sz + 1);
snprintf(s, sz+1, "%d-%02d-%02d\n", now->tm_year + 1900, now->tm_mon + 1, now->tm_mday);
return(s);
}
плюс отдельная функция, делающая free(s).
это у языка такая фишка - каждый на ровном месте огород городит - или же для подобных задач есть стандартизированные пути решения? (я не про готовые функции, а про традиционные способы решения задач)