gpt4 book ai didi

c - 如何将 st_mtime(从 stat 函数获取)转换为字符串或字符

转载 作者:太空狗 更新时间:2023-10-29 16:46:09 27 4
gpt4 key购买 nike

我需要将 st_mtime 转换为字符串格式以将其传递给 java 层,我尝试使用此示例 http://www.cplusplus.com/forum/unices/10342/但是编译器产生错误

invalid conversion from 'long unsigned int*' to 'const time_t* {aka long int const*}'

initializing argument 1 of 'tm* localtime(const time_t*)' [-fpermissive]

我做错了什么,如何在字符串表示中使用 stat 函数获取文件创建时间。

请帮忙。

最佳答案

根据stat(2)手册页,st_mtime 字段是一个 time_t(即在阅读 time(7) 手册页后,自 unix Epoch 之后的秒数)。

你需要localtime(3)time_t 转换为本地时间的 struct tm,然后,strftime(3)将其转换为 char* 字符串。

所以你可以编写如下代码:

time_t t = mystat.st_mtime;
struct tm lt;
localtime_r(&t, &lt);
char timbuf[80];
strftime(timbuf, sizeof(timbuf), "%c", &lt);

然后使用 timbuf 或许通过 strdup -ing 它。

注意。我正在使用 localtime_r 因为它对线程更友好。

关于c - 如何将 st_mtime(从 stat 函数获取)转换为字符串或字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13542345/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com