如何在C++中获取纳秒级文件创建时间
How to obtain nanosecond file creation time in C++
在软件开发过程中,遇到了一个获取文件创建时间、修改时间、访问时间的时间戳的需求。通过调用struct stat相关接口很容易获取这些信息,但是要求是获取纳秒级的时间戳。所以我不知道该怎么办,有人给我解决方案吗?对了,我在Linux.
下用C++编程
并非所有文件系统都支持(ext4 支持):
struct stat result;
if (stat(filename, &result) == 0) {
printf("Last access of %s: %sns: %ld\n",
filename,
ctime(&result.st_ctim.tv_sec),
result.st_ctim.tv_nsec
);
} else {
fprintf(stderr, "%s: %s.\n", argv[0], strerror(errno));
}
在软件开发过程中,遇到了一个获取文件创建时间、修改时间、访问时间的时间戳的需求。通过调用struct stat相关接口很容易获取这些信息,但是要求是获取纳秒级的时间戳。所以我不知道该怎么办,有人给我解决方案吗?对了,我在Linux.
下用C++编程并非所有文件系统都支持(ext4 支持):
struct stat result;
if (stat(filename, &result) == 0) {
printf("Last access of %s: %sns: %ld\n",
filename,
ctime(&result.st_ctim.tv_sec),
result.st_ctim.tv_nsec
);
} else {
fprintf(stderr, "%s: %s.\n", argv[0], strerror(errno));
}