回答編集履歴
2
修正
test
CHANGED
@@ -6,11 +6,21 @@
|
|
6
6
|
|
7
7
|
|
8
8
|
|
9
|
+
直接的な修正としては
|
10
|
+
|
11
|
+
`for (int i = 0; i < 256; i++)`を
|
12
|
+
|
13
|
+
`for (int i = 0, j = 0; i < 256; i++)`にして、
|
14
|
+
|
15
|
+
ループ内最初の、`int j = 0;`を消せばよいですが、
|
16
|
+
|
17
|
+
|
18
|
+
|
9
19
|
カンマで区切ってその前とそれ以降を読み取りたい場合、
|
10
20
|
|
11
21
|
`sscanf(str,"%[^,],%s",id,tag);`
|
12
22
|
|
13
|
-
のようにすると
|
23
|
+
のようにすると一発で済みます。
|
14
24
|
|
15
25
|
|
16
26
|
|
1
追加
test
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
`for`文のループの中で`j=0`としている為、`j`は常に0になっています。
|
1
|
+
`for`文のループの中で`j=0`としている為、`j`は常に`0`になっています。
|
2
2
|
|
3
3
|
最後に、`,`に出会った時に`id[j] = '\0';`が行われるため、idは一文字目がNULLの空文字列になります。
|
4
4
|
|
@@ -11,3 +11,11 @@
|
|
11
11
|
`sscanf(str,"%[^,],%s",id,tag);`
|
12
12
|
|
13
13
|
のようにすると良いです。
|
14
|
+
|
15
|
+
|
16
|
+
|
17
|
+
> printf("%d", id);にすると、数字は表示されるので何かしらは保存されていると思われる。
|
18
|
+
|
19
|
+
|
20
|
+
|
21
|
+
ちなみにこれで出ているのは、`id`配列の先頭アドレスを10進数で表したものです。
|