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