回答編集履歴
2
更に追記
answer
CHANGED
@@ -24,4 +24,8 @@
|
|
24
24
|
char buff[100];
|
25
25
|
fgets(buff, 100, fp); // 文字列として行を読み込む
|
26
26
|
n = atoi(buff); // 数字取得
|
27
|
-
```
|
27
|
+
```
|
28
|
+
|
29
|
+
---さらに、追記 ---
|
30
|
+
scanf() --> fscanf(stdin, ...) ですね。で、他の方も書かれているように、cinと混在させるものでは無いです。 速度を気にされているようですが、参考にしたサイトがそう書かれているとの事ですが、何でそうしたのか、解説が無いでしょうか? まずは、その辺りからでしょう。
|
31
|
+
scanf()系が遅いのは、単純。読み込みフォーマットを引数の文字列で指定しているので、その解釈時間が余分なコストになるから。cinが遅いのは調べた事無いので推測ですが、scanf()等より、高度な事を内部でしているのでしょう。
|
1
Cでの方法
answer
CHANGED
@@ -13,4 +13,15 @@
|
|
13
13
|
2
|
14
14
|
```
|
15
15
|
とする。 (cinでの書式付き入力がよく分からない)
|
16
|
-
`scanf()` は、標準入力からの読み込みですが、cin と混在した場合の挙動が保証されている? のでしょうか。 cinのバッファを切り替えた時点で? です。
|
16
|
+
`scanf()` は、標準入力からの読み込みですが、cin と混在した場合の挙動が保証されている? のでしょうか。 cinのバッファを切り替えた時点で? です。
|
17
|
+
|
18
|
+
-------
|
19
|
+
割り切って Cの入力を使うならば、 `stdin.h` をインクルードし、
|
20
|
+
```C
|
21
|
+
/// なんか
|
22
|
+
FILE *fp = fopen("../input.txt", "r");
|
23
|
+
/// なんか
|
24
|
+
char buff[100];
|
25
|
+
fgets(buff, 100, fp); // 文字列として行を読み込む
|
26
|
+
n = atoi(buff); // 数字取得
|
27
|
+
```
|