お世話になっております。
下記のようなことを実現したくお力を貸していただきたいです。
1.特定ディレクトリ内には名前に日時が記載されたファイルが複数ある
例:Test20161007100551.txt
(数字はyyyyMMddHHMMss形式)
2.特定ディレクトリからファイル名を見て、24時間以内のファイルの中身を全て読み出し、
文字型変数に保存したい。
しかし、一つのファイルパスを指定してファイルの内容を読み出すことはできたのですが、
24時間以内のファイルの判断、ディレクトリから複数ファイルの読みこみが実現できません。
お手数お掛けしますが、ご教示のほどよろしくお願い致します。
@補足1
すみません、情報を記載し忘れました。
OSはXP、visual studio2003を使用しています。
仕様のためかなり古いバージョンです。
@補足2
今回のコーディングにおいては、.NETではなくMFCを使用しております。
今までJAVA屋だったもので、C++についてはわからない点が多く、
詳しく教えていただければ幸いです。
試行錯誤して下記のような流れで実現できました。
1._findfirst、_findnextを使用し、ファイル名を取得
2.ファイル名から時間の文字部分を抽出
3.時間の文字部分をSYSTEMTIME形式に変換
4.SYSTEMTIME変数をCTimeに変更し、現在時刻との差異を取得
5.24時間以内の場合、CFileを使用してファイル名からファイルオープン
ただ一つ気になっている部分が3の部分で下記のようなコードで作りました。
// 2016/10/08 00:00:00 に変換 targetTimeStr = "20161008000000"; setStr = targetTimeStr.Left(4); setStr += "/"; setStr += targetTimeStr.Mid(4,2); setStr += "/"; setStr += targetTimeStr.Mid(6,2); setStr += " "; setStr += targetTimeStr.Mid(8,2); setStr += ":"; setStr += targetTimeStr.Mid(10,2); setStr += ":"; setStr += targetTimeStr.Mid(12,2);
冗長的な感じなのですがもう少しうまい方法はありますでしょうか?
JavaであればFormat変数等で対応できるのですが・・
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。