c++ 字符串转16进制
时间: 2023-09-02 17:11:44 浏览: 44
可以使用以下代码将字符串转换为16进制:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[] = "Hello, world!";
int len = strlen(str);
printf("String: %s\n", str);
printf("Hexadecimal: ");
for (int i = 0; i < len; i++) {
printf("%02x ", str[i]);
}
return 0;
}
```
输出结果为:
```
String: Hello, world!
Hexadecimal: 48 65 6c 6c 6f 2c 20 77 6f 72 6c 64 21
```
其中 `%02x` 用于将每个字符转换为两位16进制数并进行输出。
相关问题
c++字符串转16进制
你可以使用以下方法将C字符串转换为16进制:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void stringToHex(const char* input, char* output) {
char hex[] = "0123456789ABCDEF";
size_t len = strlen(input);
for (size_t i = 0; i < len; i++) {
unsigned char c = input[i];
output[i * 2 = hex[c >> 4];
output[i * 2 + 1 = hex[c & 0x0F];
}
output[len * 2 = '\0';
}
int main() {
const char* str = "Hello, World!";
char hexStr
c++16进制字符串转10进制
以下是c++将16进制字符串转换为10进制的示例代码:
```c++
#include <iostream>
#include <string>
#include <sstream>
using namespace std;
int main() {
string hex_str = "1A"; // 16进制字符串
int dec_num; // 转换后的10进制数
stringstream ss;
ss << hex << hex_str; // 将16进制字符串转换为16进制数
ss >> dec_num; // 将16进制数转换为10进制数
cout << dec_num << endl; // 输出:26
return 0;
}
```
解释:
1. 首先定义一个16进制字符串`hex_str`和一个整型变量`dec_num`,用于存储转换后的10进制数。
2. 使用`stringstream`类将16进制字符串转换为16进制数,并存储在`ss`对象中。
3. 使用`>>`运算符将`ss`对象中的16进制数转换为10进制数,并存储在`dec_num`变量中。
4. 最后输出`dec_num`变量的值,即为16进制字符串转换后的10进制数。