statを使ったプログラム
Posted: 2012年12月04日(火) 02:33
#include <stdio.h>
#include <dirent.h>
#include <sys/types.h>
#include <unistd.h>
#include <sys/stat.h>
#include <time.h>
void main() {
struct dirent *r_dir;
struct stat *sta;
DIR *dir = opendir(".");
printf("--- この directory の内容を表示 ---\n");
while((r_dir = readdir(dir)) != NULL) {
if(r_dir->d_ino == 0) continue;
printf(" i-node 番号:%ld, ファイル名:%s\n", r_dir->d_ino, r_dir->d_name);
}
printf("\n");
closedir(dir);
if(stat("r.c", sta) == 0) {
printf("--- r.c の i-node 内容を表示 ---\n");
printf(" i-node 番号:%ld\n", (long)sta->st_ino);
printf(" アクセス/ファイル種別:%X\n", (int)sta->st_mode);
printf(" 共有数:%d\n", (int)sta->st_nlink);
printf(" 所有者 ID:%d\n", (int)sta->st_uid);
printf(" グループ ID:%d\n", (int)sta->st_gid);
printf(" ファイルサイズ:%ld\n", (long)sta->st_size);
printf(" 最終アクセス秒:%ld\n", (long)sta->st_atime);
printf(" 最終書き込み秒:%ld\n", (long)sta->st_mtime);
printf(" 最終書き込み年月日時刻:%s", ctime(&sta->st_mtime));
}
}
詳細を出力するプログラムです。
statでエラーが帰ってきてしまいます。どこがいけないんでしょうか・・・