演習1-20 K&R プログラミング言語C

演習1-20

タブ文字をタブ・ストップまでのスペースに変換する。

#include <stdio.h>

#define DEFAULT_TABSTOP 4

void put_space(int len, char c);

int main(int argc, char *argv[])
{
    int c, i, n;

    n = DEFAULT_TABSTOP;

    i = 0;
    while ((c = getchar()) != EOF) {
        if (c == '\t') {
            put_space(n-i, ' ');
            i = 0;
        } else if (c == '\n' || i + 1 == n) {
            putchar(c);
            i = 0;
        } else {
            putchar(c);
            ++i;
        }
    }

    return 0;
}

void put_space(int len, char c)
{
    int i;
    for (i = 0; i < len; ++i) {
        putchar(c);
    }
}
プログラミング言語C 第2版 ANSI規格準拠
B.W. カーニハン D.M. リッチー
共立出版
売り上げランキング: 9726
«
»