回答編集履歴

3

.

2023/02/24 02:03

投稿

int32_t
int32_t

スコア20923

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

.

2023/02/24 02:01

投稿

int32_t
int32_t

スコア20923

test CHANGED
@@ -8,5 +8,5 @@
8
8
  ```
9
9
 
10
10
  ----
11
- 質問のタイトルのように数値を16進数文字列に変換するのは、`snprintf()` などでしょうか。
11
+ 質問のタイトルのように文字やら数値を16進数文字列に変換するのは、`snprintf()` などでしょうか。
12
12
 

1

.

2023/02/24 01:59

投稿

int32_t
int32_t

スコア20923

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
+