- ベストアンサー
Visual C++ コンソールアプリ
YYMMDDHHMMSS.txtという形式の日時ファイル名のtxtが 実行ファイル直下のtxtフォルダに複数個あり、 getsとsscanfでYYYYMMDD形式で入力を待ち、 日付が該当したらfopenで開きたいのですが どのように指定すればいいのでしょうか? 060125234805.txt 060126101240.txt 060126181124.txt と複数のファイルがあり、20060126と入力した場合に 該当する日付の2つのファイルの中身を画面に表示させたいのです。 時間の早いものから表示して、矢印キーで画面を切り替えようと考えています。 Visual C++ 6.0 コンソールアプリです。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
こんばんわ _findfirst と _findnext を使えば良いと思います 但し・・・OSによっては、使えないかも・・・(^^;;
その他の回答 (2)
- BlueStones
- ベストアンサー率65% (13/20)
該当ファイルの検索処理について記述します。 これはAPIによって実現できますよ。 ---------------------------------------------------------------- #include <stdio.h> #include <windows.h> void main() { HANDLE hFind; WIN32_FIND_DATA fd; char FileName[ 256 ]; // 代入処理は省略 sprintf( FileName, "txt\\060126*.txt" ); // ファイルを検索 hFind = FindFirstFile( FileName, &fd ); // 発見した時の処理 if( hFind != INVALID_HANDLE_VALUE ) { do { // 発見したファイル名を表示 printf("Find File = %s\n", fd.cFileName ); /* 後は、発見したファイル名に対して 追加処理をして表示をすればできます。 */ } while( FindNextFile( hFind, &fd ) == TRUE); // ハンドルを閉じる FindClose( hFind ); } } ---------------------------------------------------------------- とりあえず、このようなものです。
- Trick--x--
- ベストアンサー率26% (19/72)
MFCが使えるのなら、CFileFindというクラスが有ります http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/vclib/html/_MFC_CFileFind.asp 使用方法の参考になるサイトも挙げておきますね http://www.dinop.com/vc/allfile_in_folder.html