$
を追加して、標準出力に出力するプログラム。
read()は読み込みに失敗しなければ返値として実際に読み込んだバイト数を返します。 したがって、入力したバイト列を操作することは、readの返値を変数に代入しておき、 その値までくりかえすループを書くことで実現できます。 たとえば、chocolate.cやstrawberry.cで行っている次のようなコードをよく書きます。
while ((len = read(STDIN_FILENO, buf, sizeof(buf))) > 0) { for (j = 0; j < (size_t)len; j ++) { (略) } (略) }
注意すべきことがいくつかあります。
for (p = buf; *p != '\0'; p++) { // read()で入力したものには使用不可 use(*p); }
for (p = buf; *p != '\n'; p++) { // read()で入力したものには使用不可 use(*p); }
-e
があれば各行の行末に $
を追加し、なければそのまま出力せよ。