2

現在、小さなコマンド ライン スクリプトを作成していますが、かなりうまく機能しています。

スクリプトは、ユーザーが終了コマンドを発行するまでループします。その間、ユーザーは次のようなコマンドを入力できます。

I 5 6

イメージの作成を意味します。5と6は作成する幅と高さです。

現状では、ユーザーの入力を配列にキャプチャすることはできないようです。私は常に最初の文字を取得できますが、他の2文字は取得できませんfgetc.

現在、次のようにキャプチャしています。

 $input = strtolower(fgetc(STDIN)); 

誰か手を貸してくれませんか?

4

3 に答える 3

2

fgetc()1 文字でのみ読み取ります。

使いたいのはfgets().

あなたの場合、入力行を(明らかに必要に応じて小文字で)配列として取得するには、次を使用します。

$input_line = strtolower(fgets(STDIN));
$input_array = explode(" ", $input_line);
于 2012-11-29T10:01:19.907 に答える
1

fgets()を使用して行全体を読み取ります。

于 2012-11-29T10:00:32.080 に答える
1
$input = explode(" ",strtolower(fgets(STDIN))); 

fgetc() は 1 文字のみを読み取り、fgets() は文字列を読み取ります

于 2012-11-29T10:01:23.363 に答える