问题
单项选择题
以下不能正确创建输出文件对象并使其与磁盘文件相关联的语句组的选项是 ( )。
A.ofstream cfile; cfilopen( "d : ofiltxt" );
B.ofstream * cfile = new ofstream; cfile -> open( "d : ofiltxt );
C.ofstream cfile( "d: ofiltxt" );
D.ofstream * cfile = new( "d : ofiltxt" )
答案
参考答案:D
解析: 本题主要考察C++中流的概念和文件的I/O操作。C++把数据的流动抽象为流,而文件流不是标准设备,因此没有cout那样预先定义的全局对象。文件流定义的操作应用于外部设备,最典型的设备是磁盘中的文件。要定义一个文件流类对象,必须先对文件进行打开操作。常用的文件打开操作方式有3种: ①默认构造函数+open成员函数(对象型); ②默认构造函数+open成员函数(指针型): ③构造函数+指定文件名和模式。 题目选项中,选项A采用方式①创建文件对象,选项B采用方式②创建文件对象,选项C采用方式③创建文件对象,上述3个选项语句都正确的建立起输出文件对象与磁盘文件的关联。选项D语句中,直接利用new操作符打开文件,而跳过了流对象的open操作,语句不合法。