無題
Re:無題
ファイルの更新日を取得する関数を、教えていただき、どちらのファイルが新しいかを判別する。という事は
stat(変数A,&st); stat(変数B,&st2);
if((st.st_mtime) >(st2.st_mtime))
のようにして出来るようになったのですが、
今度は先月か(または先々月)どうかを、判別する事をしたいのですが
、何か良い方法はあるでしょうか?(ツール起動時においての先月かどうか、という意味です)
#前々回に教えて頂いた、ファイル、ディレクトリの判別は
switch(buf.st_mode & S_IFMT)
{
case S_IFREG:
case S_IFDIR:
}
Mistさんに教えて頂いたとおりstatの、
このマクロで解決できました!!
stat(変数A,&st); stat(変数B,&st2);
if((st.st_mtime) >(st2.st_mtime))
のようにして出来るようになったのですが、
今度は先月か(または先々月)どうかを、判別する事をしたいのですが
、何か良い方法はあるでしょうか?(ツール起動時においての先月かどうか、という意味です)
#前々回に教えて頂いた、ファイル、ディレクトリの判別は
switch(buf.st_mode & S_IFMT)
{
case S_IFREG:
case S_IFDIR:
}
Mistさんに教えて頂いたとおりstatの、
このマクロで解決できました!!
Re:無題
>む、思ってたのとちょっと違うな(^^;
>一応サンプル。
ありがとうございます。
こっちの方がスッキリしてるので、こちらを使わせてもらうことにしました。
>判別する対象か明確じゃないですが、最終更新日時がというのであれば
>st_mtimeにどんな値が入っているのかを理解していれば、特に難しくはないと思いますが。
これを調べている間にtoyoさんのアドバイスに行き着いてしまいました(^^;
でも、これはこれで覚えておいて損はなさそうなので調べてみます!!
>9/30に更新したものを10/1に開いても先月と判定するということでしょうか
やっぱり、ここは気になりますよね(^^;
まぁ、ここまで、出来たならもし、30日後だというのであれば、
すぐそれに直せますから、さほど気にしなくても大丈夫ですかね!笑
>それならlocaltime( )関数でtime_t時間をtm構造体に変換してtm_monメンバー変数を比較すればいいでしょう
このようになりました!!
time(&buf.st_atime);
time(&timer);
nowmon = localtime(&timer); //システム起動時月
newmon = localtime(&buf.st_atime); //ファイル更新月
if(newmon->tm_mon+1 == nowmon->tm_mon)
>一応サンプル。
ありがとうございます。
こっちの方がスッキリしてるので、こちらを使わせてもらうことにしました。
>判別する対象か明確じゃないですが、最終更新日時がというのであれば
>st_mtimeにどんな値が入っているのかを理解していれば、特に難しくはないと思いますが。
これを調べている間にtoyoさんのアドバイスに行き着いてしまいました(^^;
でも、これはこれで覚えておいて損はなさそうなので調べてみます!!
>9/30に更新したものを10/1に開いても先月と判定するということでしょうか
やっぱり、ここは気になりますよね(^^;
まぁ、ここまで、出来たならもし、30日後だというのであれば、
すぐそれに直せますから、さほど気にしなくても大丈夫ですかね!笑
>それならlocaltime( )関数でtime_t時間をtm構造体に変換してtm_monメンバー変数を比較すればいいでしょう
このようになりました!!
time(&buf.st_atime);
time(&timer);
nowmon = localtime(&timer); //システム起動時月
newmon = localtime(&buf.st_atime); //ファイル更新月
if(newmon->tm_mon+1 == nowmon->tm_mon)