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

回答編集履歴

4

f

2020/05/22 06:17

投稿

tiitoi
tiitoi

スコア21962

answer CHANGED
@@ -1,7 +1,19 @@
1
- `test.exe 10` のようにタイマーの秒数を1つ引数に指定する形で呼び出すのであれば、
1
+ 推測ですが、`test.exe 10` のようにタイマーの秒数を引数に指定して、プログレスバーのような形で指定した時間分カウントるプログラムが作りたかったのではないでしょうか。
2
+ だとすると、指定した秒数は `argv[1]` で参照できるので、`sleep(std::atof(argv[i])/50);` の部分は `sleep(std::atof(argv[1])/50);` とするべきではないでしょうか。
2
3
 
4
+ ```diff
3
- 引数 `10` は `argv[1]` なので、`sleep(std::atof(argv[i])/50);` の部分は `sleep(std::atof(argv[1])/50);` とするべきではないでしょうか。
5
+ - sleep(std::atof(argv[i])/50);
6
+ + sleep(std::atof(argv[1])/50);
7
+ ```
4
8
 
9
+ ## argc, argv の仕様
10
+
11
+ * `test.exe`: argc = 1, argv[0] = "test.exe"
12
+ * `test.exe 10`: argc = 2, argv[0] = "test.exe", argv[1] = "10"
13
+ * `test.exe 10 20`: argc = 3, argv[0] = "test.exe", argv[1] = "10", argv[2] = "20"
14
+
15
+ ## 修正後のコード
16
+
5
17
  ```cpp
6
18
  #include <chrono>
7
19
  #include <cstdlib>

3

d

2020/05/22 06:16

投稿

tiitoi
tiitoi

スコア21962

answer CHANGED
@@ -26,7 +26,7 @@
26
26
  std::cout << std::flush;
27
27
  }
28
28
  std::cout << "\n";
29
- std::cout << std::atof(argv[1]) << "秒経過しました\n";
29
+ std::cout << time_secs << "秒経過しました\n";
30
30
 
31
31
  return 0;
32
32
  }

2

d

2020/05/22 04:49

投稿

tiitoi
tiitoi

スコア21962

answer CHANGED
@@ -1,6 +1,6 @@
1
1
  `test.exe 10` のようにタイマーの秒数を1つ引数に指定する形で呼び出すのであれば、
2
2
 
3
- 引数 `10` は `argv[0]` なので、`sleep(std::atof(argv[i])/50);` の部分は `sleep(std::atof(argv[0])/50);` とするべきではないでしょうか。
3
+ 引数 `10` は `argv[1]` なので、`sleep(std::atof(argv[i])/50);` の部分は `sleep(std::atof(argv[1])/50);` とするべきではないでしょうか。
4
4
 
5
5
  ```cpp
6
6
  #include <chrono>

1

d

2020/05/22 04:42

投稿

tiitoi
tiitoi

スコア21962

answer CHANGED
@@ -1,6 +1,6 @@
1
1
  `test.exe 10` のようにタイマーの秒数を1つ引数に指定する形で呼び出すのであれば、
2
2
 
3
- `sleep(std::atof(argv[i])/50);` の部分は `sleep(std::atof(argv[0])/50);` とするべきではないでしょうか。
3
+ 引数 `10` は `argv[0]` なので、`sleep(std::atof(argv[i])/50);` の部分は `sleep(std::atof(argv[0])/50);` とするべきではないでしょうか。
4
4
 
5
5
  ```cpp
6
6
  #include <chrono>