【发布时间】:2021-10-07 16:52:55
【问题描述】:
我需要将 time_t 变量转换为 DD/MM/YYYY/HH:mm 格式的字符串。我做了以下函数。
int time_to_str(time_t value, char *string)
{
struct tm *timeinfo;
time(&value);
timeinfo = localtime(&value);
strftime(string, sizeof(string), "%d/%m/%Y/%H:%M", timeinfo);
}
用以下方法测试函数:
time_t variable = time(NULL);
char buffer[100];
time_to_str(variable, buffer);
printf("%s", buffer);
我得到以下输出,但没有发现问题...有什么想法吗?
07/10/
【问题讨论】:
-
sizeof(string)在任何现代 PC 上始终为 4 或 8(取决于您编译为 32 位还是 64 位),所以这显然是错误的 -
是的,您需要将其作为附加函数参数传递。该函数也不会根据需要返回任何
int值。 -
啊对了,其实是想在这里用宏,不知道怎么弄的,谢谢。