我遇到了一个很酷的STL示例,它使用istream_iterators从std输入(cin)复制到向量.
vector<string> col1;
copy(istream_iterator<string>(cin), istream_iterator<string>(),
back_inserter(col));
Run Code Online (Sandbox Code Playgroud)
我如何做类似的事情从文件流直接读入容器?让我们说一个包含内容的简单文件:
"快速的棕色狐狸跳过懒狗."
我希望每个单词都是复制行后面向量中的一个单独元素.
Naw*_*waz 11
cin成功打开文件后替换为文件流对象:
ifstream file("file.txt");
copy(istream_iterator<string>(file), istream_iterator<string>(),
back_inserter(col));
Run Code Online (Sandbox Code Playgroud)
实际上,您可以替换cin任何C++标准输入流.
std::stringstream ss("The quick brown fox jumped over the lazy dogs.");
copy(istream_iterator<string>(ss), istream_iterator<string>(),
back_inserter(col));
Run Code Online (Sandbox Code Playgroud)
知道了吗?col将包含您传递给的字符串的单词std::stringstream.
| 归档时间: |
|
| 查看次数: |
5397 次 |
| 最近记录: |