char*转换成字节流
时间: 2023-09-04 21:06:48 浏览: 68
将char*转换成字节流可以使用以下代码:
```c++
const char* str = "hello world";
size_t size = strlen(str);
std::vector<char> buffer(str, str + size);
```
这将创建一个vector,其中包含输入的字符串作为字符数组的连续块。如果要将其作为字节流进行发送或保存,可以使用如下代码:
```c++
std::ofstream out("file.bin", std::ios::out | std::ios::binary);
out.write(&buffer[0], buffer.size());
out.close();
```
这将把vector的内容写入名为file.bin的文件中,以二进制形式进行保存。
相关问题
linux c++ 如何将 char数组转换成字节流数组
在C++中,char数组本身就是字节流数组,因为char类型的大小恰好是一个字节。因此,如果你想将一个char数组转换成字节流数组,只需要将char数组的指针强制转换成unsigned char*类型的指针即可,如下所示:
```c++
char myCharArr[] = "hello world";
unsigned char* myByteArr = reinterpret_cast<unsigned char*>(myCharArr);
```
这样就可以将char数组myCharArr转换成unsigned char数组myByteArr。注意,同样需要确保转换后指针所指向的内存区域是合法的。
字节数组如何转换成字节流数据
字节数组可以通过使用 ByteArrayInputStream 类来转换成字节流数据。该类提供了一个构造函数,接受一个字节数组作为参数,并创建一个新的 ByteArrayInputStream 对象。然后可以使用该对象的 read() 方法来读取字节流数据。
下面是一个示例代码:
```java
byte[] bytes = new byte[] { 0x48, 0x65, 0x6c, 0x6c, 0x6f };
ByteArrayInputStream stream = new ByteArrayInputStream(bytes);
int data;
while ((data = stream.read()) != -1) {
System.out.print((char) data);
}
```
输出结果为:
```
Hello
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)