📝

標準入力

2023/12/16に公開

今回は標準入力って何?って話を。
まだ0からプログラムを書けるような知識がないので、paizaってサイトで勉強しようと思ったんだけど、初っ端から標準入力で値を出力しろって言われて、わかんねー。

方法は分かったけど、概念としてはちょっとって部分もあるんだけど、書いとく。
例えば

・標準入力で1つの文字列が与えられるので、それを入力して、そのまま1行で出力してください。

って問題が出てきたとして
与えられるって何だ?でもまあ文字列入力すればいいのかなって思って

echo '一列です'

これで提出したら案の定、駄目ですって。
それでちょっと調べたら、標準入力っていうのは

'コンピュータ上で実行されているプログラムが、特に何も指定されていない場合に標準的に利用するデータ入力元'

これを指すらしい。

いやそんなこと言われても、って思うかもしれないけど、ちょっとややこしい書き方なだけ。
要するに向こう側で決めた字列があって、それを取得、出力すればいいんだけど、その文字列をちゃんとプログラム上で指定して引っ張ってきてねって話。

paizaのphp問題でいえば

fgets(STDIN) 

これに格納されているので、これを適当な変数に代入してやって、あとはそれをechoするなりprintするなり。

paizaでの標準入力だけの話ならこれでいいんだけど(まだ数問しか見てないけど)
この方法だと文字列に存在する空白まで一緒に取ってきちゃうので

//例 fgets(STDIN)に与えられる文字:test(後ろに空白)

$test trim(fgets(STDIN));

echo $test

//出力:test(空白なし)

こうすることで空白を取り除くことが出来る

これの積み重ねで自分でアプリを作れるんだろうか
果てしなさそう。

Discussion