8

私はCプログラミングに不慣れで、dirとsubdirのファイルにchmodコマンドを実装したいと思います。Cコードで権限を変更/表示するにはどうすればよいですか?誰かが例を手伝ってもらえますか?誰かが私にコードを提供してくれれば幸いです。

4

3 に答える 3

14

chmod関数があります。man 3p chmodから:

SYNOPSIS
   #include <sys/stat.h>

   int chmod(const char *path, mode_t mode);

...

権限を読み取りたい場合は、stat を使用します。man 3p statから:

SYNOPSIS
   #include <sys/stat.h>

   int stat(const char *restrict path, struct stat *restrict buf);

...

あなたが言及したように再帰的にやりたい場合は、readdir自分の結果をループする必要があります。

于 2010-03-29T16:56:19.783 に答える
2

GNU Cライブラリを使用すると、直接実行できるはずです

int chmod (const char *filename, mode_t mode)
int chown (const char *filename, uid_t owner, gid_t group)

ここでチェックしてください..これらの機能はすべて入っていますsys/stat.h

于 2010-03-29T16:55:53.050 に答える
0

例:(表示/テスト権限)

struct stat st; 
int ret = stat(filename, &st);
if(ret != 0) {
    return false;
}   
if((st.st_mode & S_IWOTH) == S_IWOTH) {

} else {

}
于 2015-06-03T02:44:44.647 に答える