ディレクトリ内のファイルを日付順に取り出したい – プログラミング – Home

ディレクトリ内のファイルを日付順に取り...
 
通知
すべてクリア

[解決済] ディレクトリ内のファイルを日付順に取り出したい


hidetin
 hidetin
(@hidetin)
ゲスト
結合: 22年前
投稿: 1
Topic starter  

あるディレクトリにあるファイルを日付(格納日時、アクセス日時等)で昇順に取り出したい。
どうすればよいか教えてください。

FindFileでファイルを取得するのは可能ですが、日付順にファイルを取り出したいのです。


引用未解決
トピックタグ
επιστημη
 επιστημη
(@επιστημη)
ゲスト
結合: 22年前
投稿: 600
 

一旦配列か何かに取り出しておいて、日付でソートすれば。


返信引用
ぽち
 ぽち
(@ぽち)
ゲスト
結合: 22年前
投稿: 24
 

dir /B | sortの出力をパイプでもらうとか...


返信引用
επιστημη
 επιστημη
(@επιστημη)
ゲスト
結合: 22年前
投稿: 600
 

> 一旦配列か何かに取り出しておいて、日付でソートすれば。

// std::multimap でやってみた。

#include <windows.h>
#include <iostream>
#include <map>
#include <utility>
#include <string>

typedef std::multimap<FILETIME,std::string> map_type;

inline bool operator<(const FILETIME& x, const FILETIME& y) {
return CompareFileTime(&x,&y) < 0L;
}

int main() {

map_type files;

WIN32_FIND_DATA find_data;
HANDLE handle = FindFirstFile(*.*, &find_data);
if ( handle != INVALID_HANDLE_VALUE) {
do {
files.insert(map_type::value_type(
find_data.ftLastWriteTime, find_data.cFileName));
} while ( FindNextFile( handle, &find_data) );
FindClose(handle);
}

for ( map_type::iterator iter = files.begin();
iter != files.end(); ++iter ) {
std::cout << iter->second << std::endl;
}

return 0;
}


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました