C++でファイルの作成日時や更新日時を取得する手順を紹介します。
ファイルの作成日時を取得するには?
_stat関数を使用し、ファイルの作成された日時を取得します。
※ただし、Linuxでは作成日時は取得できません。
#include <sys/stat.h>
#include <stdio.h>
int main(int argc, char* args[])
{
// ファイル情報を格納する構造体を用意しておく
struct _stat buf;
// ファイルの情報を取得する
_stat( filename, &buf );
// ファイルの作成日時を取得する
// → &buf.st_ctime で取得できる createdのc
// ファイルの作成日時を表示する
char str[26];//日時文字列をおいておく変数
ctime_s(str, sizeof(str), &buf.st_ctime);//日時文字列に変換
wprintf("%s",str); //日時文字列を出力する
}
このように作成日時が出力されます。
Fri Sep 18 13:03:39 2021
ファイルの更新日時を取得するには?
ファイルの更新日時を取得するときも_stat関数を使用します。
#include <sys/stat.h>
#include <stdio.h>
int main(int argc, char* args[])
{
// ファイル情報を格納する構造体を用意しておく
struct _stat buf;
// ファイルの情報を取得する
_stat( filename, &buf );
// ファイルの更新日時を取得する
// → &buf.st_mtime で取得できる modifiedのm
// ファイルの更新日時を表示する
char str[26];//日時文字列をおいておく変数
ctime_s(str, sizeof(str), &buf.st_mtime);//日時文字列に変換
wprintf("%s",str); //日時文字列を出力する
}
timeを任意の形式にフォーマットするには?
「Y/m/d H:i:s」のように日時を任意の形式の文字列に変換したいときは、次のページを参考にしてください。
コメント