c - 如何在c中获取时间戳

标签 c

我想获取我在 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/

相关文章:

在C程序中复制文件,但文件为空

c++ - 您发现自己在 iOS 开发中使用了哪些 C/C++ 库?

c - 剖析 C 中的浮点用法

c - 具有恒定时间后继操作的优先级队列

c - 第一语言的良好输出

c - 纹理不显示

c - 为什么指针起作用而不是这段代码中的普通变量?

通过指针更改多个函数内的数组

c - C 中输入 Until 非字字符,如 Java 的\W

带 pipe 和 fork 的 C 作业