回答編集履歴
2
修正
test
CHANGED
@@ -1,15 +1,17 @@
|
|
1
|
-
データが、`1.33,2.44,...`という形式なので、
|
1
|
+
データが、`1.33 , 2.44 , ...`という形式なので、
|
2
2
|
|
3
|
-
`fscanf(fp, "%lf", &data[i][j]);`で読み取ると一つ目を読んだ後に、先頭には`,`が残ります。
|
3
|
+
`fscanf(fp, "%lf", &data[i][j]);`で読み取ると一つ目を読んだ後に、先頭には` ,`が残ります。
|
4
4
|
|
5
|
-
次のfscanfでは、実数を読もうとして`,`が来るのでエラーとなり、それ以降は何度読んでも、
|
5
|
+
次のfscanfでは、実数を読もうとして` ,`が来るのでエラーとなり、それ以降は何度読んでも、
|
6
6
|
|
7
|
-
全てエラーになります。
|
7
|
+
先頭が` ,`なので全てエラーになります。
|
8
|
+
|
9
|
+
(型が合わずに読み取れなかった場合、そのデータはそのままストリームに残ります)
|
8
10
|
|
9
11
|
|
10
12
|
|
11
|
-
スペースが絡む,を
|
13
|
+
スペースが絡む`,`を無視するには、
|
12
14
|
|
13
15
|
`fscanf(fp, "%lf%*[ ,]", &data[i][j]);`
|
14
16
|
|
15
|
-
とかで。
|
17
|
+
とかで余分なものを読み飛ばしてください。
|
1
追加
test
CHANGED
@@ -5,3 +5,11 @@
|
|
5
5
|
次のfscanfでは、実数を読もうとして`,`が来るのでエラーとなり、それ以降は何度読んでも、`,`なので
|
6
6
|
|
7
7
|
全てエラーになります。
|
8
|
+
|
9
|
+
|
10
|
+
|
11
|
+
スペースが絡む,を読み飛ばすには、
|
12
|
+
|
13
|
+
`fscanf(fp, "%lf%*[ ,]", &data[i][j]);`
|
14
|
+
|
15
|
+
とかで。
|