我应该释放调用函数中以下两个函数返回的内存吗?我看到函数get_current_time
没问题,但get_filename_ext
没问题。我看到类似问题here,但不确定是否回答了我的问题。一般来说我应该寻找什么?
char *get_current_time(void){
struct tm *local;
time_t t;
t = time(NULL);
local = gmtime(&t);
return asctime(local);
}
char *get_filename_ext(const char *filename) {
const char *dot = strrchr(filename, '.');
if(!dot || dot == filename) return "";
return dot + 1;
}
答案 0 :(得分:4)
这些功能都没有分配任何内存。所以实际上没有什么可以自由的。
char*
返回的asctime
是内部缓冲区。所以你无论如何也无法释放它。