2024年4月20日发(作者:)

标签:

2015-01-1317:431880人阅读(0)

分类:

c/c++编程(8)

版权声明:本文为博主原创文章,未经博主允许不得转载。

一、文件的输入输出

头文件fstream定义了三个类型支持文件IO:ifstream从给定文件读取数据、ofstream

向一个给定文件写入数据、fstream读写给定数据。这些类型与cin和cout的操作一

样,我们可以用IO操作符来读写文件,还可以用getline从一个ifstream读取数据。

1、getline()函数

的函数原型为:

[cpp]

1. istream&getline(istream&is,string&str,chardelim);

2. istream&getline(istream&&is,string&str,chardelim);

3. istream&getline(istream&is,string&str);

4. istream&getline(istream&&is,string&str);

通常我们使用getline函数读取一整行,该函数接受一个输入流和一个string对象,

函数从给定的输入流中读取内容,直到遇到换行符为止,然后将所读的内容存入到

个string对象中。

另外,当函数为istream&getline(istream&is,string&str,chardelim);形式时,函数遇到

delim也会停止。

2、使用文件流对象

当我们想要读入一个文件时,可以定义一个文件流对象,并将对象与文件相关联起

来,每一个文件流类都定义了一个名为open的成员函数,完成一系列系统相关的操

作。

函数的原型为:

[cpp]

1. voidopen(constchar*filename,ios_base::openmodemode=ios_base::out);

2. voidopen(conststring&filename,ios_base::openmodemode=ios_base::out);

文件模式(mode)有一下几种:

[cpp]

1. ofstreamoutfile("E:",ofstream::app);

上述代码打开文件,如果不存在,系统会创建此txt文件,并且定位到文件末尾。

打开的文件使用完成后一定要关闭,fstream提供了成员函数close()来完成此操

作。

例:从文件中读取数据并写入到中

[cpp]

1. #include""

2. #include

3. #include

4. #include

5. #include

6. usingnamespacestd;

7. int_tmain(intargc,_TCHAR*argv[])

8. {

9. ifstreammyfile("E:");

10. ofstreamoutfile("E:",ofstream::app);

11. stringtemp;

12. if(!())

13. {

14. cout<<"未成功打开文件"<

15. }

16. while(getline(myfile,temp))

17. {

18. outfile<

19. }

20. ();

21. return0;

22. }

二、string流

string头文件定义了三个类型来支持内存IO,istringstream向string写入数据,

ostringstream从string读取数据,stringstream既可从string读取数据也可向string写

数据,就像string是一个IO流一样。