您的位置:首页 > 编程语言 > C语言/C++

C++ 流以及文件操作

2016-04-05 18:39 246 查看


文件输入输出



1、头文件<fstream>

头文件fstream定义了三个类型来支持文件IO:

ifstream :从一个给定文件读取数据

ofstream :向一个给定位文件写入数据

fstream:可以读取给定文件

这些类型提供的操作和cin和cout的是一样的。

可以用IO运算符(<< 和 >>)来读取文件,可以用getline来从一个ifstream读取数据

2、用fstream代替iostream&

在要求使用基类对象的地方,我们可用继承类型的对象来代替。这意味着一个iostream类型的引用(或指针)参数的函数,可以用一个对应的fstream(或sstream)类型来调用。也就是说,如果有一个函数接受一个ostream&的参数,我们可以在调用这个函数的时候传递给他一个ofstream对象,对istream&和ifstream也是类似的。

3、string流

sstream头文件定义了三个类型来支持内存IO,这些类型可以向string写入数据,从string读取数据,就像string是一个IO流一样。

istringstream:从一个string读取数据

ostringstream:向string写入数据

stringstream:既可以读也可以写

同样,sstream中定义的类型也继承自iostream头文件。当然,除了继承得来的特性,sstream还有自己的特性,如下:

1)sstream strm;

2)sstream strm(s); //可以用一个string对象直接初始化strm(实际上就是绑定一个string对象)

3)strm.str(); //返回strm所保存的string对象

4)strm.str(s); //将string s拷贝到strm中。返回void

4、使用istringstream

1

2

3

4

5

6

7
string line,word; 
//定义两个string对象,line保存一行string,word用来遍历一行string的以空格为分隔符的子string

while
( getline(cin,line) )

{

      
stringstream record(line); 
//将记录绑定到刚刚读到的行line

      
while
(record >> word)

           
use word;  
//在这里使用word

}


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  C++