【掲示板ご利用上の注意】

 ※題名は具体的に!
 ※学校の課題の丸投げ禁止!
 ※ソースの添付は「HTML変換ツール」で字下げ!
 ※返信の引用は最小限に!
 ※環境(OSとコンパイラ)や症状は具体的に詳しく!
 ※マルチポスト(多重投稿)は謹んで!

 詳しくはこちら



 本当はこんなに大きく書きたくはないのですが、なかなか守っていただけなくて…。
 守ってくださいね。お願いします。(by管理人)

C言語ソース⇒HTML形式ツール   掲示板2こちら


管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    ログ    タグ一覧

No.18594

ディレクトリ内から最新更新日付のファイル名を取得する方法
投稿者---aki(2004/12/08 19:02:24)


こんばんは、よろしくお願いいたします。
gcc,cygwin環境でやっております。
ディレクトリ内から最新の更新日付であるファイル名を取得したいのですが途中で苦戦しています。ファイル一覧の取得と最終更新日付の取得はサイトを検索して試しに表示するところまではできました。
しかし更新日付を比較する前の段階でとまっています。
printf("%s",ctime(&filestat.st_mtime));で表示させると当然フォーマットが決まっているので、yyyymmddmmssのように取得して比較すればできるかもと考えています。間違っているかもしれませんが、間違いかどうか残念ながら判断できる能力を持ち合わせておりません。一つ一つをまわしながら比較していくぐらいしか分かりません。
ご教授よろしくお願い致します。一応ソースを明記しておきます。
#define LOG "LOG_No"

int main()
{
    char buf[25];
    DIR *dir;
    struct dirent *dp;
    struct stat filestat;
    //dir = opendir(".");
    //ディレクトリを開く
    dir = opendir("C:/cygwin/home/log");
    while((dp=readdir(dir)) != NULL) {
        //ディレクトリ内の一覧を取得
        stat(dp->d_name,&filestat);
        if (strncmp(LOG,dp->d_name,6) == 0)
        {
            printf("%s",dp->d_name);
            //printf("%s",ctime(&filestat.st_mtime));
            //printf("%a%m%d%H%M%S%Y", ctime(&filestat.st_mtime));
            printf("%s",ctime(&filestat.st_mtime));
        }
     }
     //ディレクトリをクローズ
     closedir(dir);
return 0;
}



この投稿にコメントする

削除パスワード

発言に関する情報 題名 投稿番号 投稿者名 投稿日時
<子記事> Re:ディレクトリ内から最新更新日付のファイル名を取得する方法 18607 RAPT 2004/12/09 01:44:30


No.18607

Re:ディレクトリ内から最新更新日付のファイル名を取得する方法
投稿者---RAPT(2004/12/09 01:44:30)


localtime()で struct tm* が得られるので、それを比較すれば良いでしょう。
比較はループで回し、最大値のファイル名と更新日時を保持しておけば良いでしょう。



この投稿にコメントする

削除パスワード

No.18611

Re:ディレクトリ内から最新更新日付のファイル名を取得する方法
投稿者---aki(2004/12/09 15:42:18)


>localtime()で struct tm* が得られるので、それを比較すれば良いでしょう。
比較はループで回し、最大値のファイル名と更新日時を保持しておけば良いでしょう。

RAPTさん、レスありがとうございます。
考え方はよく分かりました。がんばってみます。



この投稿にコメントする

削除パスワード

管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    ログ    タグ一覧