C言語入門(30) 実際にプログラムを読んで理解を深めよう ls編(4)

Posted: 2013年03月07日

前回は、display関数を解説してきました。
今回はdisplay関数が表示処理に用いているprintscol関数を解説していきます。

print.c printscol関数です。

プログラムプログラム:

#define IS_NOPRINT(p)   ((p)->fts_number == NO_PRINT)

void
printscol(const DISPLAY *dp)
{
    FTSENT *p;

    for (p = dp->list; p; p = p->fts_link) {
        if (IS_NOPRINT(p))
            continue;
        (void)printaname(p, dp->s_inode, dp->s_block);
        (void)putchar('n');
    }
}

解説解説:

一列で表示する関数です。
printaname後、putcharで改行文字を表示しています。
具体的には

ファイル名01
ファイル名02

IS_NOPRINTでは、main関数で判断したフラグを用いて表示対象か判断します。

詳細な描画はprintanameで行なっているため
この関数はとてもシンプルな作りになっています。

次回は、printanameの解説を書いていきます。

カテゴリー: プログラム, 入門 | タグ: , , | コメント無し »

コメント