如何在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));
    }