我正在编写这个程序,以便解决这个问题:为什么我在 subversion pre-revprop-change py 脚本中尝试 sys.stdin.read() 时得到“错误的文件描述符”?
笔记:
- 来自 STDIN 的内容可能是任意二进制数据。
- 请使用 C++ STL 函数、iostream、ifstream 等。
- 如果文件创建/写入失败,我想捕获异常以了解情况。
我正在编写这个程序,以便解决这个问题:为什么我在 subversion pre-revprop-change py 脚本中尝试 sys.stdin.read() 时得到“错误的文件描述符”?
笔记:
大多数系统上最短的版本,可能也是最快的版本是这样的:
#include <fstream>
#include <iostream>
int main() {
std::ofstream("cin.txt", std::ios_base::binary) << std::cin.rdbuf();
}
我认为复制方法是你想要的:
template<class InputIterator, class OutputIterator>
OutputIterator copy ( InputIterator first, InputIterator last, OutputIterator result )
{
while (first!=last) *result++ = *first++;
return result;
}
例如:
copy(istream_iterator<string>(cin)
, istream_iterator<string>()
, ostream_iterator<string>(fout, "\n"));
这里的 fout 是一个文件流迭代器。