teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

すみません。正しくない回答をしてしまいましたので削除しました。

2018/02/22 10:13

投稿

GuielNo4
GuielNo4

スコア88

answer CHANGED
@@ -1,37 +1,1 @@
1
- キーボード入力を受け取る仕組みを理解するコードを考えてみました。
1
+ ません。正しくない回答してしまいましたので削除しました。
2
- ```ここに言語を入力
3
- printf( "input > ");
4
- while ( 1 )
5
- {
6
- char result = (char)getchar();
7
- printf( "%c\n", result );
8
- }
9
- ```
10
- 以下のように (1) で 式 を入力してリターンキーを押すと(2)が出力されます。
11
-
12
- ```ここに言語を入力
13
- input > 1 2 + 3 4 - * ------- (1)
14
- 1 --------------------------- (2)
15
- --------------------------- (2) ← スペース
16
- 2 --------------------------- (2)
17
- --------------------------- (2) ← スペース
18
- 3 --------------------------- (2)
19
- --------------------------- (2) ← スペース
20
- 4 --------------------------- (2)
21
- --------------------------- (2) ← スペース
22
- - --------------------------- (2)
23
- --------------------------- (2) ← スペース
24
- * --------------------------- (2)
25
-
26
- ```
27
- result の内容でスペースを判定すれば、
28
- 「式の途中で空白が入ってくるので行が終わりということを検知」
29
- という方法が取れるかなと思い回答しました。
30
-
31
- これで問題が解決できそうでしたら、
32
- 以下のように、scanf を使用していた元のコードで取得文字を配列に格納後、
33
- 空白を探すコードを作成してみてはいかがでしょうか?
34
- ```ここに言語を入力
35
- char input[256];
36
- scanf_s( "%s", input, 256 );
37
- ```

1

説明の途中でアップしてしまいました。修正/追記を入れました。

2018/02/22 10:13

投稿

GuielNo4
GuielNo4

スコア88

answer CHANGED
@@ -1,4 +1,4 @@
1
- キーボード入力をどのように受け取るかという参考回答なのでが、
1
+ キーボード入力を受け取る仕組みを理解るためのコードを考えてみました。
2
2
  ```ここに言語を入力
3
3
  printf( "input > ");
4
4
  while ( 1 )
@@ -26,4 +26,12 @@
26
26
  ```
27
27
  result の内容でスペースを判定すれば、
28
28
  「式の途中で空白が入ってくるので行が終わりということを検知」
29
- という方法が取れるかなと思い回答しました。
29
+ という方法が取れるかなと思い回答しました。
30
+
31
+ これで問題が解決できそうでしたら、
32
+ 以下のように、scanf を使用していた元のコードで取得文字を配列に格納後、
33
+ 空白を探すコードを作成してみてはいかがでしょうか?
34
+ ```ここに言語を入力
35
+ char input[256];
36
+ scanf_s( "%s", input, 256 );
37
+ ```