从 std::ostream 获取二进制数据指针与数据长度, c++语言, 要精华列子
时间: 2024-05-02 16:22:32 浏览: 152
输入十六进制或八进制数据-C++程序设计谭浩强
从 std::ostream 获取二进制数据指针与数据长度的例子如下:
```c++
#include <iostream>
#include <string>
int main() {
std::stringstream ss;
ss << "hello world!";
std::string str = ss.str();
const char* data = str.data();
std::size_t size = str.size();
for (std::size_t i = 0; i < size; ++i) {
std::cout << data[i];
}
std::cout << '\n';
return 0;
}
```
在这个例子中,我们首先创建一个 std::stringstream 对象,将字符串 "hello world!" 写入到流中(这里使用了操作符 << )。
然后,我们获取这个流中的内容作为一个 std::string 对象,并通过调用 data() 成员函数获取其指向数据的指针 data 和其长度 size。
最后,我们遍历这个字节数组并将其输出到标准输出流中。
这是一个简单的例子,但它展示了如何从 std::ostream 获取二进制数据指针和数据长度的基本方法。
阅读全文