重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

YYMMDDHHMMSS.txtという形式の日時ファイル名のtxtが
実行ファイル直下のtxtフォルダに複数個あり、
getsとsscanfでYYYYMMDD形式で入力を待ち、
日付が該当したらfopenで開きたいのですが
どのように指定すればいいのでしょうか?

060125234805.txt
060126101240.txt
060126181124.txt

と複数のファイルがあり、20060126と入力した場合に
該当する日付の2つのファイルの中身を画面に表示させたいのです。
時間の早いものから表示して、矢印キーで画面を切り替えようと考えています。

Visual C++ 6.0 コンソールアプリです。

A 回答 (3件)

こんばんわ



_findfirst と _findnext を使えば良いと思います

但し・・・OSによっては、使えないかも・・・(^^;;

参考URL:http://www.microsoft.com/japan/developer/library …
    • good
    • 0

該当ファイルの検索処理について記述します。



これは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 );
 }
}
----------------------------------------------------------------

とりあえず、このようなものです。
    • good
    • 0

MFCが使えるのなら、CFileFindというクラスが有ります


http://msdn.microsoft.com/library/ja/default.asp …
使用方法の参考になるサイトも挙げておきますね
http://www.dinop.com/vc/allfile_in_folder.html
    • good
    • 0

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