user-0 提问: 我有11个十六进制的数，如何把他们拼到一起？

回复:
user: user-1
content: 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10581430.html 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10768339.html

user: user-2
content: #include<iostream> #include<string.h> using namespace std; int main() {     int s[11]{ 0x5, 0xc5, 0xb3, 0xea };     char str[100];     for (int i = 0; i < 4; i++)          sprintf(str + i * 2, %02x", (usigned char)s[i]);     printf("%s", str);     return 0; }

user: user-3
content: 我觉得用个FOR就可以了· test_1 = '易燃易爆炸' bytes = test_1.encode('utf-8')#编码 你们要的十六进制数一长串~~~~巴拉巴拉巴拉什么玩意儿的··· bytes_3 = str(bytes)[2:-1]      #去掉头子和尾巴· bytes_4 = []                         #建个空列表 for i in bytes_3:     if i == '\\' or i == 'x':         continue     else:bytes_4.append(i)     把东西放进去 bytes_5 = ''.join(bytes_4)         #变成一个玩意儿了~ 我是这样的~看大神们了·~

user: user-4
content: 引用 1 楼 user-9 的回复:使用itoa  #include<iostream> #include<string.h> using namespace std; int main() { 	int s[11]{ 0x5, 0xc5, 0xb3, 0xea }; 	char str[100]=""; 	char tmp[10]; 	for (int i = 0; i < 4; i++)  		sprintf(&str[strlen(str)], "%02s", itoa(s[i], tmp, 16)); 	printf("%s", str); 	return 0; }  直接用%02x就可以了，使用snprintf和itoa反而把问题复杂化了

user: user-4
content: 引用 2 楼 lin5161678 的回复:[quote=引用 1 楼 user-9 的回复:] 使用itoa  #include<iostream> #include<string.h> using namespace std; int main() { 	int s[11]{ 0x5, 0xc5, 0xb3, 0xea }; 	char str[100]=""; 	char tmp[10]; 	for (int i = 0; i < 4; i++)  		sprintf(&str[strlen(str)], "%02s", itoa(s[i], tmp, 16)); 	printf("%s", str); 	return 0; } 既然已经知道sprintf 为什么不直接 %02x [/quote] ++ 直接用0x02x就可以了

user: user-5
content: printf / sprinf

user: user-6
content: #include<iostream> #include<string.h> using namespace std; int main() {     int s[11]{ 0x5, 0xc5, 0xb3, 0xea };     char str[100];     char tmp[10];     str[0]=0;     for (int i = 0; i < 4; i++)          sprintf(str, "%s%02x",str,(usigned char)s[i]);     printf("%s", str);     return 0; }

user: user-7
content: 引用 2 楼 lin5161678 的回复:[quote=引用 1 楼 user-9 的回复:] 使用itoa  #include<iostream> #include<string.h> using namespace std; int main() { 	int s[11]{ 0x5, 0xc5, 0xb3, 0xea }; 	char str[100]=""; 	char tmp[10]; 	for (int i = 0; i < 4; i++)  		sprintf(&str[strlen(str)], "%02s", itoa(s[i], tmp, 16)); 	printf("%s", str); 	return 0; } 既然已经知道sprintf 为什么不直接 %02x [/quote] 我也这么觉得，没有用itoa的必要  #include<iostream> #include<string.h> using namespace std; int main() {     int s[] = { 0x5, 0xc5, 0xb3, 0xea };     char str[1024]={};     for (int i = 0; i < ARRAYSIZE(s); i++)          sprintf(&str[strlen(str)], "%02x", s[i]);     printf("%s", str);     return 0; }

user: user-8
content: 引用 1 楼 user-9 的回复:使用itoa  #include<iostream> #include<string.h> using namespace std; int main() { 	int s[11]{ 0x5, 0xc5, 0xb3, 0xea }; 	char str[100]=""; 	char tmp[10]; 	for (int i = 0; i < 4; i++)  		sprintf(&str[strlen(str)], "%02s", itoa(s[i], tmp, 16)); 	printf("%s", str); 	return 0; } 既然已经知道sprintf 为什么不直接 %02x

user: user-9
content: 使用itoa  #include<iostream> #include<string.h> using namespace std; int main() { 	int s[11]{ 0x5, 0xc5, 0xb3, 0xea }; 	char str[100]=""; 	char tmp[10]; 	for (int i = 0; i < 4; i++)  		sprintf(&str[strlen(str)], "%02s", itoa(s[i], tmp, 16)); 	printf("%s", str); 	return 0; }