回答編集履歴

1

16進数文字列の長さが分からない時のコードを追加

2020/06/16 02:40

投稿

kazuma-s
kazuma-s

スコア8224

test CHANGED
@@ -21,3 +21,31 @@
21
21
  }
22
22
 
23
23
  ```
24
+
25
+ **追記**
26
+
27
+ 16進数文字列の長さが分からない時、
28
+
29
+ ```C
30
+
31
+ #include <stdio.h>
32
+
33
+
34
+
35
+ int main(void)
36
+
37
+ {
38
+
39
+ char s[] = "1ABF2454F185";
40
+
41
+ int a[100], n = 0;
42
+
43
+ while (n < 100 && sscanf(s + n*2, "%2x", a + n) == 1) n++;
44
+
45
+ for (int i = 0; i < n; i++) printf("a[%d] = %d\n", i, a[i]);
46
+
47
+ }
48
+
49
+ ```
50
+
51
+ 16進数文字列の長さが奇数の時、最後は 1文字の値になります。