用于打印" stat"的内容的格式说明符。缓冲

时间:2015-05-07 10:26:48

标签: c linux unix operating-system stat

我在linux上使用 stat()函数来检索有关文件的详细信息 其中一个细节是上次存取的时间存储在变量" st_atime "
但是显示这个细节的格式说明符是什么。我的程序不断抛出错误。

#include<stdio.h>
#include<sys/stat.h>

int main()
{
  struct stat buf;
  stat("reversi.py",&buf);
  printf("The size  is...%d\n",buf.st_atime);
  return 0;
}

错误是

warning: format ‘%d’ expects argument of type ‘int’, but argument 2 has type ‘__time_t’ [-Wformat=]
     printf("The size  is...%d\n",buf.st_atime);

此类数据的正确格式说明符是什么 此外还有函数返回的更多细节。在那里我可以找到这些细节的所有正确的格式说明符。?
谢谢。

1 个答案:

答案 0 :(得分:0)

ctime() gmtime() localtime()函数都采用 time_t 数据类型。

#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <unistd.h>
#include<sys/stat.h>
#include <time.h>

int main()
{
    struct stat buf;
    stat("1.c",&buf);
    printf("Last Access was :  %s\n",ctime(&buf.st_atime));
    return 0;
}

这将打印

Last Access was :  Tue Apr 28 10:09:15 2015