问题
I need to find out at what time and date a file has been created using C++ in Linux.
回答1:
How do I get the date a file was last modified?.
struct stat attrib; //1. create a file attribute structure
stat("file_name", &attrib); //2. get the attributes of afile.txt
clock = gmtime(&(attrib.st_mtime)); //3. Get the last modified time and
// put it into the time structure
4.8 File Times Update:
In Linux: three distinct timestamps associated with a file:
- time of last access of contents (
atime
),- time of last modification of contents (
mtime
),- and time of last modification of the inode (metadata,
ctime
).
So, no, you cannot find file creation time. (reference). Some useful Links related to you question:
- How do I do a ls and then sort the results by date created?
- Get file created/creation time?
- A good article, "file creation times".
回答2:
It seems no easy way to get exactly the creation time but you can get time of the last modification, last access and last status change.
You need to use the structure stat, defined in sys/stat.h. Here is the documentation on how to obtain and use this structure.
来源:https://stackoverflow.com/questions/13697941/how-to-get-file-creation-time-in-linux