-5

我正在编写这个程序,以便解决这个问题:为什么我在 subversion pre-revprop-change py 脚本中尝试 sys.stdin.read() 时得到“错误的文件描述符”?

笔记:

  • 来自 STDIN 的内容可能是任意二进制数据。
  • 请使用 C++ STL 函数、iostream、ifstream 等。
  • 如果文件创建/写入失败,我想捕获异常以了解情况。
4

2 回答 2

3

大多数系统上最短的版本,可能也是最快的版本是这样的:

#include <fstream>
#include <iostream>
int main() {
    std::ofstream("cin.txt", std::ios_base::binary) << std::cin.rdbuf();
}
于 2012-09-18T11:05:53.237 回答
1

我认为复制方法是你想要的:

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 是一个文件流迭代器。

于 2012-09-18T09:36:31.270 回答