下列打开文件的表达式中,错误的是

admin2010-06-06  29

问题 下列打开文件的表达式中,错误的是

选项 A、ofstream ofile;ofile.open("C:\\vc\\abc.txt",ios::binary);
B、fstream iofile;iofile.open("abc.txt",ios::ate);
C、ifstream ifile("C:\\vcXXabc.txt");
D、cout.open("C:\\vc\\abc.txt",ios::binary);

答案D

解析 本题考核文件的I/O操作。流可以分为3类:输入流、输出流以及输入/输出流,相应地必须将流说明为ifstream、ofstream以及fstream类的对象。如,说明一个输入流对象:ifstream ifile;。说明了流对象后,可使用函数open()打开文件。文件的打开即是在流与文件之间建立一个连接。open()的函数原型为:void open(const char *filename,int mode,int port=filebuf::openprot);其中,filename是文件名字,它可包含路径说明。mode说明文件的打开模式。除了open()成员函数外,ifstream、ofstream以及fstream三类流的构造函数也可以打开文件,其参数同open()函数。例如:ifstream ifile("c:\\vc\\abc.txt");。打开的文件使用完毕后,必须使用close()函数将其关闭。close()函数也是流类的成员函数,它没有参数与返回值,其作用是将缓冲区的内容刷新并撤销流与文件之间的连接。当流对象的生存周期后,相应的析构函数也会将文件关闭。由此可知,A、B和C选项的表达式都是正确的。对于D选项,由于open函数并不是cout对象中的成员函数,所以对open的调用是非法的。
转载请注明原文地址:https://kaotiyun.com/show/Vajp777K
0

最新回复(0)