標準入力から文字列を読み込む【その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' を入れているためと思われるが、、、どうにか入力された文字を全部扱うことはできないだろうか。