|
>fopen(*.txt,"r");とやったらファイルオープンエラーになってしまいました。
fopenはワイルドカード指定で開きません。
以下サンプルソースです。ファイル名は struct _finddata_t の name に格納されます。
拡張子を指定して検索する場合は szSeartchDir[] = "C:\\*.txt"
みたいに設定します。(txtファイルの場合)
/* Cドライブ直下のファイル名とディレクトリ名を表示する */
#include <stdlib.h>
#include <stdio.h>
#include <io.h>
int main( void )
{
struct _finddata_t tFileData = { 0 }; /* ファイル情報 */
long lHandle; /* 検索ハンドル */
char szSearchDir[] = "C:\\*.*"; /* 検索ディレクトリ */
/* ファイル検索開始 */
lHandle = _findfirst( szSearchDir, &tFileData );
/* _findfirstが成功した場合 */
if ( lHandle != -1 )
{
do
{
/* ファイル(ディレクトリ)名を出力 */
puts( tFileData.name );
}
/* 次のファイルを検索(ない場合はループ終了) */
while ( _findnext( lHandle, &tFileData ) != -1 );
}
/* 検索ハンドルを閉じる */
_findclose( lHandle );
/* 終了 */
return EXIT_SUCCESS;
}
|