回答編集履歴
3
実行結果追記
answer
CHANGED
@@ -26,4 +26,13 @@
|
|
26
26
|
i++;
|
27
27
|
}
|
28
28
|
}
|
29
|
+
```
|
30
|
+
結果
|
31
|
+
```
|
32
|
+
a[0]=26
|
33
|
+
a[1]=191
|
34
|
+
a[2]=36
|
35
|
+
a[3]=84
|
36
|
+
a[4]=241
|
37
|
+
a[5]=133
|
29
38
|
```
|
2
コード追記
answer
CHANGED
@@ -3,4 +3,27 @@
|
|
3
3
|
---
|
4
4
|
|
5
5
|
`char Sbuf[2];`
|
6
|
-
NULL文字が付くため、2ではバッファサイズが足りません。
|
6
|
+
NULL文字が付くため、2ではバッファサイズが足りません。
|
7
|
+
|
8
|
+
---
|
9
|
+
|
10
|
+
なるべく元のコードに沿って書くと、
|
11
|
+
```C
|
12
|
+
#include <stdio.h>
|
13
|
+
#include <string.h>
|
14
|
+
void main()
|
15
|
+
{
|
16
|
+
char* str = "1ABF2454F185";
|
17
|
+
char Sbuf[3];
|
18
|
+
int len = (int)strlen(str) / 2;
|
19
|
+
int i = 0;
|
20
|
+
int a[6] = { 0 };
|
21
|
+
while (i < len)
|
22
|
+
{
|
23
|
+
sscanf(&str[i*2], "%2s", Sbuf);
|
24
|
+
a[i] = strtoul(Sbuf, NULL, 16);
|
25
|
+
printf("a[%d]=%d\n", i, a[i]);
|
26
|
+
i++;
|
27
|
+
}
|
28
|
+
}
|
29
|
+
```
|
1
指摘追加
answer
CHANGED
@@ -1,1 +1,6 @@
|
|
1
|
-
基数を指定して文字列を数値に変換する[strtoul](https://linuxjm.osdn.jp/html/LDP_man-pages/man3/strtoul.3.html)という関数があります。
|
1
|
+
基数を指定して文字列を数値に変換する[strtoul](https://linuxjm.osdn.jp/html/LDP_man-pages/man3/strtoul.3.html)という関数があります。
|
2
|
+
|
3
|
+
---
|
4
|
+
|
5
|
+
`char Sbuf[2];`
|
6
|
+
NULL文字が付くため、2ではバッファサイズが足りません。
|