回答編集履歴

4

f

2020/05/22 06:17

投稿

tiitoi
tiitoi

スコア21956

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

3

d

2020/05/22 06:16

投稿

tiitoi
tiitoi

スコア21956

test CHANGED
@@ -54,7 +54,7 @@
54
54
 
55
55
  std::cout << "\n";
56
56
 
57
- std::cout << std::atof(argv[1]) << "秒経過しました\n";
57
+ std::cout << time_secs << "秒経過しました\n";
58
58
 
59
59
 
60
60
 

2

d

2020/05/22 04:49

投稿

tiitoi
tiitoi

スコア21956

test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- 引数 `10` は `argv[0]` なので、`sleep(std::atof(argv[i])/50);` の部分は `sleep(std::atof(argv[0])/50);` とするべきではないでしょうか。
5
+ 引数 `10` は `argv[1]` なので、`sleep(std::atof(argv[i])/50);` の部分は `sleep(std::atof(argv[1])/50);` とするべきではないでしょうか。
6
6
 
7
7
 
8
8
 

1

d

2020/05/22 04:42

投稿

tiitoi
tiitoi

スコア21956

test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- `sleep(std::atof(argv[i])/50);` の部分は `sleep(std::atof(argv[0])/50);` とするべきではないでしょうか。
5
+ 引数 `10` は `argv[0]` なので、`sleep(std::atof(argv[i])/50);` の部分は `sleep(std::atof(argv[0])/50);` とするべきではないでしょうか。
6
6
 
7
7
 
8
8