アプリ版:「スタンプのみでお礼する」機能のリリースについて

この件につきましては、特定の回答者の方のおかげで収束につながりました。あとひとつだけお力をください。ファイルの古い順にリストを作成してもらいましたが、これに新しい順にソートする機能を追加したいです。これで仕様としては終わりです。どうかよろしくお願いいたします

bool operator<(const FILETIME& x, const FILETIME& y) {
if ( x.dwHighDateTime < y.dwHighDateTime ) return true;
if ( y.dwHighDateTime < x.dwHighDateTime ) return false;
return x.dwLowDateTime < y.dwLowDateTime;
}
class DML_Backup {
public:
vector<string> files_;
void search(const char* spec) {
typedef multimap<FILETIME,string> map_type;
map_type files;
WIN32_FIND_DATAA find_data;

HANDLE handle = FindFirstFileA(spec, &find_data);
if ( handle != INVALID_HANDLE_VALUE) {
do {
files.insert(map_type::value_type(find_data.ftLastWriteTime, find_data.cFileName));
} while ( FindNextFileA( handle, &find_data) );
FindClose(handle);
}

files_.clear();

for ( map_type::iterator iter = files.begin(); iter != files.end(); ++iter ) {
files_.push_back(iter->second);
        }

A 回答 (2件)

もっとも簡単なのは"古い順に並べた後反転↓する"。



reverse(filres.begin(), filesn.end());
    • good
    • 0

// timeOrder … TRUE:新しい日付順にソート、FALSE:古い日付順にソート


void DML_Backup::search(const char* spec, bool timeOrder) {

  …(省略)…

  files_.clear();

  for ( map_type::iterator iter = files.begin(); iter != files.end(); ++iter ) {
    if( timeOrder ) files_.push_back(iter->second);
    else files_.insert(files_.begin(), iter->second);
  }
}
    • good
    • 0
この回答へのお礼

ありがとうございました。今回の件は何とかなりました。

お礼日時:2011/06/20 21:36

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!