Shammer's Philosophy

My private adversaria

標準入力から文字列を読み込む【その1】

昔やったような気がしていたが見つからないので。。。一番の基本型は以下だろうか。入力バッファクリア方法 - Shammerismをベースにscanfは使用しない。fgetsを使用する。

#include <stdio.h>
#include <string.h>

int main(int argc, char * args[]){
    char value[10];
    printf("Type message:");
    fgets(value, sizeof(value), stdin);
    printf("%s\n", value);
    return 0;
}

実行すると以下のようになる。実際には 9 文字まで入力を受付けている。

$ ./a.out
Type message:0123456789
012345678
$

これは、おそらく最後に '\0' を入れているためと思われるが、、、どうにか入力された文字を全部扱うことはできないだろうか。