Shammer's Philosophy

My private adversaria

改行とEOF

入力バッファクリア方法 - Shammerismでは、getchar() の結果が \n だったら、つまり、改行だったら getchar() を終わりにする、というようにしていたが、どうやら改行での判断は一つの手段でしかないらしい。改行以外にEOFでの判定もできるようだ。

#include <stdio.h>

int main(int argc, char * args[]){
    puts("Type:");
    while ( 1 ) {
	char c = getchar();
	if ( c == EOF ){
	    printf("EOF received.\n");
	    break;
	}
	else {
	    putchar(c);
	}
    }
    return 0;
}

このようにして、実行中に Ctrl+D とやると「EOF received.」で終了した。
何文字まで入力できるものなのだろうか。これは今度やってみよう。