作成日付の1番古いファイルを削除する – プログラミング – Home

作成日付の1番古いファイルを削除する
 
通知
すべてクリア

[解決済] 作成日付の1番古いファイルを削除する


plug
 plug
(@plug)
ゲスト
結合: 18年前
投稿: 3
Topic starter  

こんにちは
ファイル操作に関して質問をさせて頂きたいと思います。
環境はWindows2000 VC++6.0です。

あるフォルダの中に以下のような5つのファイルがあり、
ファイル名の「ABCDE_」部分はどのファイルも共通の文字列で、
後ろの「2007~」の8桁数値部分は、txtファイルが作成された日付を
YYYYMMDD形式で表しています。

ABCDE_20070223.txt
ABCDE_20070222.txt
ABCDE_20070221.txt
ABCDE_20070220.txt
ABCDE_20070219.txt

フォルダの中のtxtファイルが5件をこえると、作成日付の一番古いファイルが
1件消去されるようにしたいのですが、一番古いファイルの検索方法が分からず
悩んでおります。
ファイル名を取得し、その中から数値部分を取り出して一番小さいものを
調べるなどは出来るのでしょうか。
それとも単純に作成日時の古いものを検索する方法などもあるのでしょうか。
MSDNなどで調べてみたのですが、分かりませんでした。

よろしければアドバイスをお願いします。


引用未解決
トピックタグ
たいちう
 たいちう
(@たいちう)
ゲスト
結合: 23年前
投稿: 662
 

ファイル名のまま、strcmpすれば良いのでは?


返信引用
tetrapod
 tetrapod
(@tetrapod)
ゲスト
結合: 21年前
投稿: 830
 

ファイル名の形式が決まっているのなら
全ファイルのファイル名を取得→sort→最後の5つ以外を削除
とすれば、ファイルが6個でも10個でも5個のみ残ると思われる。
んで sort の基準はたいちうさんのおっしゃるとおり strcmp で十分

ファイル名でなく、ファイル作成日付でも最終アクセス日付でも
同じことは可能だけど。


返信引用
plug
 plug
(@plug)
ゲスト
結合: 18年前
投稿: 3
Topic starter  

>たいちう様、tetrapod様
ご返信有難うございます。strcmpを使ってソートしてみたところ、解決できました。
比較方法が分からず困っていたので、助かりました。どうもありがとうございます!


返信引用
plug
 plug
(@plug)
ゲスト
結合: 18年前
投稿: 3
Topic starter  

すみません、解決済みにするのを忘れておりました・・・。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

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