博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
如何使用istream_iterator將文字檔轉到vector? (C/C++) (STL)
阅读量:5838 次
发布时间:2019-06-18

本文共 1136 字,大约阅读时间需要 3 分钟。

stream_iterator除了能使用cin外,只要是stream都可用,如fstream,stringstream都可用。本範例demo如何利用stream_iterator將文字檔的每個單字轉到vector內。

 1
ExpandedBlockStart.gif
ContractedBlock.gif
/**/
/* 
 2InBlock.gif(C) OOMusou 2006 http://oomusou.cnblogs.com
 3InBlock.gif
 4InBlock.gifFilename    : StreamIteratorInFileOutFile.cpp
 5InBlock.gifCompiler    : Visual C++ 8.0 / ISO C++
 6InBlock.gifDescription : Demo how to use istream_iterator from file to vector
 7InBlock.gif              and ostream_iterator from vector to file
 8InBlock.gifRelease     : 12/07/2006
 9ExpandedBlockEnd.gif*/
10
None.gif
11
None.gif#include 
<
fstream
>
12
None.gif#include 
<
iostream
>
13
None.gif#include 
<
vector
>
14
None.gif#include 
<
algorithm
>
15
None.gif#include 
<
string
>
16
None.gif#include 
<
iterator
>
17
None.gif
18
None.gif
using
 
namespace
 std;
19
None.gif
20
ExpandedBlockStart.gifContractedBlock.gif
int
 main() 
dot.gif
{
21InBlock.gif  ifstream inFile("books-11-30-2006.txt");
22InBlock.gif  vector<string> svec;
23InBlock.gif
24InBlock.gif  // Copy cin to vector
25InBlock.gif  copy(istream_iterator<string>(inFile), istream_iterator<string>(), back_inserter(svec));
26InBlock.gif
27InBlock.gif  // Sort vector
28InBlock.gif  sort(svec.begin(), svec.end());
29InBlock.gif
30InBlock.gif  // Copy vector to cout
31InBlock.gif  ofstream outFile("books-11-30-2006_r.txt");
32InBlock.gif  copy(svec.begin(), svec.end(), ostream_iterator<string>(outFile,"\n"));
33InBlock.gif
34InBlock.gif  inFile.close();
35InBlock.gif  outFile.close();
36ExpandedBlockEnd.gif}

使用這種寫法,優點是程式碼非常精簡,但缺點是一定得用一個Container接,如vector,實務上可能邊讀文字檔邊處理就好。

Keyword

stream_iterator, copy, vector, text

See Also

转载地址:http://jojcx.baihongyu.com/

你可能感兴趣的文章
eclipse介绍
查看>>
题解 201809021测试 T2羊羊吃草
查看>>
.NET Mvc
查看>>
【规范】yii2 resetful 授权验证
查看>>
【天天数据结构和算法】PHP实现二分查找的两种方法
查看>>
java 基本数据类型跟封装类型的差距
查看>>
访问控制 - C++快速入门18
查看>>
使用泛型与不使用泛型的Map的遍历
查看>>
arduino
查看>>
第六章学习小结_初识图
查看>>
112. Path Sum(判断路径和是否等于一个数)
查看>>
java基础 - 综合训练二
查看>>
(转)成为优秀技术人员的两点建议
查看>>
VNC Viewer连接Cent OS 时的 复制粘帖 功能
查看>>
20162329张旭升 2018-2019-2《网络对抗技术》第1周 Kali的安装
查看>>
【转帖】噪声库(noiseX-92)
查看>>
排序算法--桶排序
查看>>
mybatis 高级映射和spring整合之逆向工程(7)
查看>>
机器学习进阶-案例实战-停车场车位识别
查看>>
pycharm+QT5+python3安装与环境配置
查看>>