2013年6月6日木曜日

開発環境

プログラミング言語C 第2版 ANSI規格準拠 (B.W. カーニハン D.M. リッチー (著)、 石田 晴久 (翻訳)、共立出版)の第8章(UNIXシステム・8.6(例 - ディレクトリのリスティング)の演習8-5を解いてみる。

その他参考書籍

演習 8-5.

コード

sample.c

int stat(char *, struct stat *);
void dirwalk(char *, void (*fcn)(char *));

void fsize(char *name)
{
    struct stat stbuf;
    
    if (stat(name, &stbuf) == -1) {
        fprintf(stderr, "fsize: can't access %s\n", name);
        return;
    }
    if ((stbuf.st_mod & S_IINFMT) == S_IINFMT)
        dirwalk(name, fsize);
    printf("%d %d %o %d %d %d %d %8ld %d %d %d %s\n",
        stbuf.st_dev, stbuf.st_inode, stbuf.st_mode, stbuf.st_nlink,
        stbuf.st_uid, stbuf.st_gid, stbuf.st_rdev, stbuf.st_size,
        stbuf.st_atime, stbuf.st_mtime, stbuf.st_ctime, name);
}

とりあえずこんな感じかなぁ。printfでのフォーマットについては分からないのはとりあえず%dに。(%gの方がいいのかも。。)

0 コメント:

コメントを投稿