c++ 将一个unsigned char的数组转换为字符串
时间: 2024-02-04 14:02:56 浏览: 25
可以使用 C++ 标准库中的 string 类的构造函数,例如:
```c++
#include <iostream>
#include <string>
int main()
{
unsigned char arr[] = { 72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100 };
std::string str(reinterpret_cast<char*>(arr), sizeof(arr));
std::cout << str << std::endl;
return 0;
}
```
输出结果为:
```
Hello World
```
这种方法会将数组中的每个 unsigned char 转换为对应的 ASCII 码字符,然后拼接成一个字符串。需要注意的是,这里使用了 reinterpret_cast 将 unsigned char 类型的指针转换为 char 类型的指针,以便使用 string 类的构造函数。
相关问题
c++ 将unsigned char数组输出为字符串
可以使用C++标准库中的`string`类,将`unsigned char`数组转换为字符串输出。具体实现方法如下:
```c++
unsigned char arr[] = { 72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, 33 };
std::string str(reinterpret_cast<const char*>(arr), sizeof(arr));
std::cout << str << std::endl;
```
这里使用了`reinterpret_cast`强制类型转换将`unsigned char`数组转换为`char`类型,然后通过`string`类构造函数将`char`数组转换为字符串。最后使用`cout`输出字符串。
c++ 将一个unsigned char的vector转换为字符串
可以使用C++标准库中的string类的构造函数,例如:
```c++
#include <iostream>
#include <vector>
#include <string>
int main()
{
std::vector<unsigned char> vec = { 72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100 };
std::string str(vec.begin(), vec.end());
std::cout << str << std::endl;
return 0;
}
```
输出结果为:
```
Hello World
```
这种方法会将 vector 中的每个 unsigned char 转换为对应的 ASCII 码字符,然后拼接成一个字符串。