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

admin2010-03-29  34

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

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

答案8

解析 本题考核文件的打开与关闭。
   ①流可以分为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 3类流的构造函数也可以打开文件,其参数同open()函数。例如:“ifstream ifile("c:\\vc\\abc.txt");”。
   ④打开的文件使用完毕后,必须使用close()函数将其关闭。close()函数也是流类的成员函数,它没有参数与返回值,其作用是将缓冲区的内容刷新并撤销流与文件之间的连接。当流对象的生存周期后,相应的析构函数也会将文件关闭。
   由此可知,选项A、B和C的表达式都是正确的。对于选项D,由于open函数并不是cout对象中的成员函数,所以对open()的调用是非法的。
转载请注明原文地址:https://jikaoti.com/ti/rIW0FFFM
0

最新回复(0)