std::ostream_iterator 打印
时间: 2023-09-14 11:10:07 浏览: 97
`std::ostream_iterator` 是一个输出迭代器,它可以将数据插入到输出流中。可以使用它来打印输出流中的数据,例如:
```c++
#include <iostream>
#include <iterator>
#include <vector>
int main() {
std::vector<int> v{1, 2, 3, 4, 5};
std::ostream_iterator<int> out_it(std::cout, " ");
std::copy(v.begin(), v.end(), out_it);
return 0;
}
```
这个程序将向标准输出流打印 `1 2 3 4 5`,其中 `std::ostream_iterator<int> out_it(std::cout, " ");` 创建了一个 `std::ostream_iterator` 对象,它将输出流指定为 `std::cout`,并且在每个元素之间使用一个空格分隔。`std::copy(v.begin(), v.end(), out_it);` 将 `v` 中的元素复制到输出迭代器中,从而将它们插入到输出流中。
相关问题
std::ostream_iterator 打印并添加换行
可以使用 `std::endl` 操作符来在每次输出后添加换行符。下面是一个使用 `std::ostream_iterator` 打印并添加换行的示例代码:
```cpp
#include <iostream>
#include <iterator>
#include <vector>
int main() {
std::vector<int> vec{1, 2, 3, 4, 5};
// 使用 std::ostream_iterator 打印并添加换行
std::ostream_iterator<int> out_it(std::cout, "\n");
std::copy(vec.begin(), vec.end(), out_it);
return 0;
}
```
在上面的示例代码中,我们将 `std::ostream_iterator` 的分隔符参数设置为 `"\n"`,这样每次输出的时候都会添加一个换行符。运行上面的代码,输出结果如下:
```
1
2
3
4
5
```
可以看到,每个元素后面都添加了一个换行符。
std::ostream_iterator
std::ostream_iterator是C++标准库中的一个输出迭代器,用于将数据写入到输出流中。它可以接收一个输出流对象和一个分隔符作为参数,并在每次写入数据后自动插入分隔符。[2]在引用[2]的代码示例中,std::ostream_iterator被用来将一个整数向量中的元素写入到标准输出流std::cout中,并使用逗号和空格作为分隔符。输出结果为"10, 20, 30, 40, 50, 60, 70, 80, 90"。[2]在引用[1]的代码示例中,std::ostream_iterator被用来将一个浮点数流中的元素写入到标准输出流std::cout中,并使用空格作为分隔符。输出结果为"0.1 0.3 0.6 1"。因此,std::ostream_iterator可以方便地将数据写入到输出流中,并且可以指定分隔符来控制输出格式。
阅读全文