#navi(../)
* ファイルのユーザIDとグループIDを取得する・stat [#yafab77e]
stat関数によりファイルのユーザIDとグループIDを取得することができます。~
本資料はstat関数を使用し、引数で指定したファイルのユーザIDとグループIDを表示するC言語サンプルコードです。
#contents
#htmlinsertpcsp(c-top.html,c-sp.html)
* 関連記事 [#j28c373d]
-[[テキストファイルを行単位で読み込む・fgets>ファイル/テキストファイルを行単位で読み込む・fgets]]
-[[ディレクトリかどうか判別する・stat>ファイル/ディレクトリかどうか判別する・stat]]
-[[指定したディレクトリのファイル一覧を取得する・opendir,readdir>ファイル/指定したディレクトリのファイル一覧を取得する・opendir,readdir]]
-[[ファイルのサイズを取得する>ファイル/ファイルのサイズを取得する・stat]]
-[[ファイルのユーザIDとグループIDを取得する>ファイル/ファイルのUIDとGIDを取得する・stat]]
-[[fopenのファイルモード一覧表>ファイル/fopenのファイルモード一覧表]]
-[[バイナリファイルの書き込みと読み込み・fopen,fwrite,fread>ファイル/バイナリファイルの書き込みと読み込み・fopen,fwrite,fread]]
* ファイルのユーザIDとグループIDをのC言語サンプルコード [#w529f18c]
&ref(fuidgid.c); (改行コードLF)
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
void usage(char *cmd)
{
fprintf(stderr, "Usage: %s <filename>\n", cmd);
}
int main(int argc, char *argv[])
{
struct stat st;
if (argc != 2) {
usage(argv[0]);
return 1;
}
if (stat(argv[1], &st) != 0) {
fprintf(stderr, "%s is not found.\n", argv[1]);
return 1;
}
printf("UID : %d\n", st.st_uid);
printf("GID : %d\n", st.st_gid);
return 0;
}
* ユーザIDとグループID取得の実行結果 [#o2ac8230]
コンパイルして実行した結果を以下に記します。
$ gcc fuidgid.c -o fuidgid
$ ./fuidgid fuidgid.c
UID : 1000
GID : 1000
以上、ユーザIDとグループIDの取得方法でした。
#htmlinsertpcsp(c-btm.html,c-sp.html)