標準入力から文字列を読み込む【その2】
標準入力から文字列を読み込む【その1】 - Shammerismの続きで、変数宣言部をポインタにしてみた。
#include <stdio.h> #include <string.h> int main(int argc, char * args[]){ char * value; printf("Type message:"); fgets(value, sizeof(value), stdin); printf("%s\n", value); return 0; }
しかし、結果は期待するものではなかった。Segumentation fault になってしまう。
$ ./a.out Type message:0 Segmentation fault $
ちゃんと領域を確保できていないから、書き込み可能な状態にできていないんだろうな。はてさて、、、どうしたものか。
入力された文字を全部扱うってできないものなのだろうか。ちゃんと入力文字を全て扱えるだけの領域を確保するのはプログラマの責任というように書かれた本やサイトをよく見るが、どうにか全部扱えるようにしたい。少々複雑になっても。