我想获取我在 c 中登录的时间戳。 我写了一个函数来获取时间戳。 但是当我返回变量时,我得到了不同的值。
我的代码:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
char* get_timestamp(){
time_t rawtime;
struct tm * timeinfo;
char buffer[16];
time (&rawtime);
timeinfo = localtime (&rawtime);
strftime (buffer,16,"%G%m%d%H%M%S",timeinfo);
puts(buffer);
return buffer;
}
int main()
{
puts(get_timestamp());
return 0;
}
输出:
20130315204815
Ir?0315204815
谁能帮帮我...谢谢。
最佳答案
buffer[16]
是一个本地数组,它在 char* get_timestamp()
函数结束时停止存在。然后你返回一个指向不存在的数组的指针。
关于c - 如何在c中获取时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15436060/