自分で何度か試したのですが、うまくいきません。ご存知の方ご教授ください。
ディレクトリを指定してその配下にあるファイル全てを実行ファイルか、シンポリックファイルか、普通?のファイルか判断しようとしましたがどうしても実行ファイルの判断処理でコンパイルエラーになります。
(lstatの使い方がちゃんとわかってない?)
だいたい以下のような流れです。
-----------------
DIR *dirp;
struct dirent *file;
/*ここで指定ディレクトリのオープン処理(省略)*/
while((file = readdir(dirp)) != NULL)
{
char buff[65536];
struct stat buffer;
sprintf(buff,"%s%s",dir_name,f->d_name);
// 注)dir_nameは指定されたディレクトリ
lstat(buff,&buffer);
printf( "FILE[%s]\n",f->d_name);
if( S_ISLNK( buffer.st_mode) )
{
printf("SLINK!\n");
}
else if( S_IXUSR(buffer.st_mode) )
{
printf("IXUSR\n");
}
else
{
printf("OTHER\n");
}
}
/*ディレクトリのクローズ処理(省略)*/
-----------------------------------
というような形です。
else if( S_IXUSR(buffer.st_mode) )
{
printf("IXUSR\n");
}
の文をぬけばコンパイルもとおり、実行もうまくいくのですが、これが入ってしまうとコンパイル自体「呼び出せるのは関数だけです」という??メッセージのエラーがでてしまいうまくとおりません。
どなたかアドバイスをお願いします。
No.1ベストアンサー
- 回答日時:
S_IXUSRは単なる定数なので、当然エラーします。
if( S_IXUSR & buffer.st_mode )
のような使い方をします。
ただ、これで実行ファイルとして判定していいかどうかは
多少疑問が残ります。
ファイルの属性で判定してよいか,
S_IXGRP、S_IXOTHは調べなくてよいかとか。
参考URL:http://www.linux.or.jp/JM/html/LDP_man-pages/man …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
- C言語・C++・C# プログラミング c言語 4 2023/03/07 01:05
- C言語・C++・C# C言語のエラーについて 2 2022/07/11 13:56
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
- PHP imageフォルダに、画像をリサイズして保存する時のファイル名を変更したい 1 2023/05/30 11:39
- C言語・C++・C# プログラミングの授業の課題です 1 2023/01/17 22:15
- CGI htmlからパラメータで、cgiに渡したい。 1 2023/02/06 16:15
- C言語・C++・C# C言語 プログラミング 4 2022/05/22 11:53
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
バッチを用いたフォルダの自動移動
-
現在位置より2つ上のディレク...
-
/usr/local/lib/phpとはどうい...
-
FTPコマンドでディレクトリごと...
-
ファイルの更新日時でのソート
-
Subversionのリポジトリの削除
-
exec()で他ディレクトリのexeプ...
-
ファイルアップロードに関して...
-
$_SERVER["HTTP_HOST"]と、$_SE...
-
makefile でファイルをコピーす...
-
includeが出来ない訳とは?
-
上位ディレクトリ名(フォルダ...
-
rmdirでフォルダが消せません
-
Subversionで、ファイルをリネ...
-
visualstudioでc#のdllができない
-
SHGetSpecialFolderLocation
-
glob関数で日本語文字が取得で...
-
VB.NET 最下位のディレクトリ名...
-
URLに特定の文字を含む場合の条...
-
PHPのプログラムの保存場所
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
FTPコマンドでディレクトリごと...
-
バッチを用いたフォルダの自動移動
-
CFileDialogの最初のディレクト...
-
現在位置より2つ上のディレク...
-
Subversionのリポジトリの削除
-
fopenでファイルが開かない場合...
-
makefile でファイルをコピーす...
-
VB.NET 最下位のディレクトリ名...
-
rmdirでフォルダが消せません
-
visualstudioでc#のdllができない
-
ファイルアップロードに関して...
-
絶対パス?絶対アドレス?意味...
-
MkDir関数
-
拡張子を隠すのは良い事なので...
-
Subversionで、ファイルをリネ...
-
powershell で書いたプログラム...
-
コマンドプロンプトを指定のデ...
-
ファイル選択ダイアログで選択...
-
aspのページが表示できません
-
JAVA内で複数のファイルを削除...
おすすめ情報