c++中的流操作(待完善)

cin是istream 类的对象:extern istream cin;

cout是ostream的对象:extern ostream cout;

 

常用的函数:

::getline(流对象, string&);

操作符函数>>和<<

 

===

文件流:

相关的类有三个:ifstream、ofstream、fstream,均在头文件<fstream>中定义

创建文件流对象,必须跟某个文件想关联,两种方式:
ifstream infile("c:/1");

ifstream infile;

infile.open("c:/1");

 

文件名是c风格的字符串,推荐使用string对象,然后通过string对象的c_str()函数来取得c风格的字符串:

string fileName;

ifstream infile(fileName.c_str());

 

检查文件是否打开成功,直接判断流对象,如

if (infile)

{

//......

}   

 

取消流对象跟文件的关联:infile.close();

每当流读到文件结尾或者遇到错误,会处于错误状态。要想正常使用这个流对象,必须使用clear()函数来使状态恢复正常。infile.clear();

 

文件打开模式有6种:in、out、app、ate、trunc、binary

ifstream、ofstream、fstream的对象默认的打开文件的模式分别为in、out和 in | out

 

 

只有下面几种打开模式的组合是有效的:

 

读文件:

in

 

写文件:

out (等价于out | trunc )   :打开文件时清空文件中原有的内容

out | app  :不清空文件中原有的内容,文件指针定位的文件的末尾

 

读和写文件:
in | out  :不清空文件中原有的内容,文件指针定位到文件的开头

in | out | trunc  :清空文件中原有的内容

 

上述的5种模式组合都可以加上ate模式,ate只影响打开文件时的文件指针的定位,第一次读和写时,会定位到文件的末尾处。文件打开后,程序员可以使用成员函数seekp()或seekg()来移动文件指针.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值