How to get the file creation date of a file in C++
In this tutorial, We are going to learn about How to get the file creation date of a file in C++, and also, we are going to find out about other information such as its size, device, and last modification time.
Now to find the creation date and other details of a file we are going to use a header file <sys/stat.h>.
Below is the given implementation:
get the file creation date of a file in C++ along with other details
//Program to find out the creation date and other file info
//Importing header files
#include <iostream>
#include <ctime>
#include <sys/types.h>
#include <sys/stat.h>
#include <cerrno>
#include <cstring>
//Driver function
int main(int argc, char** argv )
{
struct stat fileInfo;
if (argc < 2) {
std::cout << "Usage: fileinfo <file name>\n";
return(EXIT_FAILURE);
}
if (stat(argv[1], &fileInfo) != 0) { // Use stat() to get the info
std::cerr << "Error: " << strerror(errno) << '\n';
return(EXIT_FAILURE);
}
std::cout << "Type: : ";
if ((fileInfo.st_mode & S_IFMT) == S_IFDIR) { // From sys/types.h
std::cout << "Directory\n";
} else {
std::cout << "File\n";
}
// Printing all the details related to the file
std::cout << "Size : " <<
fileInfo.st_size << '\n'; // Size in bytes
std::cout << "Device : " <<
(char)(fileInfo.st_dev + 'A') << '\n'; // Device number
std::cout << "Created : " <<
std::ctime(&fileInfo.st_ctime); // Creation time
std::cout << "Modified : " <<
std::ctime(&fileInfo.st_mtime); // Last mod time
}
Leave a Reply