回答編集履歴
3
.
test
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
質問文のコードのようなものは、現在のC標準にはない気がします。
|
2
|
-
コードを減らしたいなら、`strtol()` を使えばいいのではないでしょうか。効率を求めるなら質問文にあるコードを使えばいいと思います。
|
2
|
+
コードを減らしたいなら、`strtol()` を使えばいいのではないでしょうか。効率を求めるなら質問文にあるコードや、対応表を用意して使えばいいと思います。
|
3
3
|
```c
|
4
4
|
int toxdigit(int c) {
|
5
5
|
char buf[2] = {(char)c, 0};
|
2
.
test
CHANGED
@@ -8,5 +8,5 @@
|
|
8
8
|
```
|
9
9
|
|
10
10
|
----
|
11
|
-
質問のタイトルのように数値を16進数文字列に変換するのは、`snprintf()` などでしょうか。
|
11
|
+
質問のタイトルのように文字やら数値を16進数文字列に変換するのは、`snprintf()` などでしょうか。
|
12
12
|
|
1
.
test
CHANGED
@@ -1,8 +1,12 @@
|
|
1
|
-
現在のC標準にはない気がします。
|
1
|
+
質問文のコードのようなものは、現在のC標準にはない気がします。
|
2
2
|
コードを減らしたいなら、`strtol()` を使えばいいのではないでしょうか。効率を求めるなら質問文にあるコードを使えばいいと思います。
|
3
3
|
```c
|
4
4
|
int toxdigit(int c) {
|
5
5
|
char buf[2] = {(char)c, 0};
|
6
6
|
return (int)strtol(buf, NULL, 16);
|
7
7
|
}
|
8
|
+
```
|
8
9
|
|
10
|
+
----
|
11
|
+
質問のタイトルのように数値を16進数文字列に変換するのは、`snprintf()` などでしょうか。
|
12
|
+
|