No.1ベストアンサー
- 回答日時:
Windows XP, Borland C++Builder6 ですが、
ff_attrib を見ないとダメなようですね。
#include <stdio.h>
#include <string.h>
#include <dir.h>
int main(void)
{
/*サブディレクトリ一覧*/
struct ffblk ffblk;
int done;
done = findfirst("*.*", &ffblk, FA_DIREC);
while (!done) {
if ((ffblk.ff_attrib & FA_DIREC) == FA_DIREC)
if (strcmp(ffblk.ff_name, ".") != 0) /*カレントディレクトリ*/
if (strcmp(ffblk.ff_name, "..") != 0) /*親ディレクトリ*/
printf("%s\n", ffblk.ff_name);
done = findnext(&ffblk);
}
findclose(&ffblk);
return 0;
}
findfirst は標準関数ではないので
Win32 API で置き換えると次のように。
#include <stdio.h>
#include <string.h>
#include <windows.h>
int main(void)
{
WIN32_FIND_DATA ffd;
HANDLE hf = FindFirstFile("*.*", &ffd);
if (hf == INVALID_HANDLE_VALUE) return 0;
do {
if ((ffd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) == FILE_ATTRIBUTE_DIRECTORY)
if (strcmp(ffd.cFileName, ".") != 0)
if (strcmp(ffd.cFileName, "..") != 0)
printf("%s\n", ffd.cFileName);
} while ( FindNextFile(hf, &ffd) );
FindClose(hf);
return 0;
}
この回答へのお礼
お礼日時:2002/12/23 14:22
私も作ったのですがこんな簡単な機能が簡単にできるコマンドがないと不便ですしプログラムも見難くなりますね
提案のものをBorland無償コンパイラによって動かしてみました
動きました
特にwin32のほうは知らなかったので助かります
どうもありがとうございました
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) 図に示す階層構造で,現在のディレクトリ(カレントディレクトリという)が*印のディレクトリであるとき, 2 2022/11/16 10:55
- その他(開発・運用・管理) 【至急】.htaccessによるディレクトリ単位でのリダイレクト 2 2023/08/10 13:46
- Windows 10 バッチファイルの記述法とルールについてアドバイスをお願いいたします。 1 2022/04/13 10:50
- UNIX・Linux Linuxについて質問です。 シェルスクリプト名をfind.shとして、以下の条件をすべて満たすファ 1 2023/02/03 03:50
- その他(開発・運用・管理) フォルダの中にファルダを作成してファイルを格納するバッチコマンド 1 2022/06/30 11:39
- PHP ファイルアップロードに関してのセキュリティについてアドバイスお願い致します 1 2023/08/20 00:25
- Perl Perl の外部モジュールの利用方法 3 2022/07/10 18:34
- UNIX・Linux 空のディレクトリで dir を行ったとき 4 2023/05/05 17:54
- その他(開発・運用・管理) バッチファイルで特定のファイル・ディレクトリ以外を削除する方法について 4 2022/05/31 14:03
- Windows 10 指定したファイルを任意の範囲のディレクトリ内に上書き保存したい 1 2022/11/24 10:42
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
FTPコマンドでディレクトリごと...
-
Subversionのリポジトリの削除
-
ファイル・ディレクトリ削除を...
-
CFileDialogの最初のディレクト...
-
fopenでファイルが開かない場合...
-
glob関数で日本語文字が取得で...
-
powershell で書いたプログラム...
-
CakePHP のディレクトリの構成...
-
現在位置より2つ上のディレク...
-
includeが出来ない訳とは?
-
ファイルアップロードに関して...
-
aspのページが表示できません
-
C# 特殊ディレクトリを変更した...
-
UWSCでファイルのアップロード...
-
http://localhost/に.htaccess...
-
/usr/local/lib/phpとはどうい...
-
PHP ftp_fput()関数について
-
makefile でファイルをコピーす...
-
Visual C++ 2005 Express Editi...
-
拡張子を隠すのは良い事なので...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
FTPコマンドでディレクトリごと...
-
Subversionのリポジトリの削除
-
バッチを用いたフォルダの自動移動
-
CFileDialogの最初のディレクト...
-
visualstudioでc#のdllができない
-
ファイルアップロードに関して...
-
現在位置より2つ上のディレク...
-
makefile でファイルをコピーす...
-
fopenでファイルが開かない場合...
-
rmdirでフォルダが消せません
-
絶対パス?絶対アドレス?意味...
-
コマンドプロンプトを指定のデ...
-
VB.NET 最下位のディレクトリ名...
-
VB2008でFTPでのディ...
-
DLL のロードの順序
-
MkDir関数
-
ファイル選択ダイアログで選択...
-
図に示す階層構造で,現在のデ...
-
[ ディレクトリ '.' は書き込み...
-
JAVA内で複数のファイルを削除...
おすすめ情報