質問: if( access( "*.txt", 0) != -1 ) //ワイルドカードで存在CHK { //存在しない時 } このようにやりたいのですが、 実験すると、*は使えないようです 何かやりかたないでしょうか? access じゃなくてもかまいません ※vc++環境です よろしくお願いします
回答: ワイルドカードを使ったファイルの検索ですと WinAPIのFindFirstFile、FindNextFile、FindCloseを使うことになると思います WIN32_FIND_DATA FindFileData; HANDLE hFind; hFind = FindFirstFile( "*.txt", &FindFileData ); if ( hFind == INVALID_HANDLE_VALUE ) { // 存在しない場合 } else { // 存在する場合 // FindFileData.cFileName に見つけたファイルの名前を取得 // つぎの合致するファイルの取得には // FindNextFile( hFind, &FIndFileData ); // を実行します FindClose( hFind ); }