以下程序企图把从键盘终端输入的字符输出到名为abc.txt的文件中,当从终端读到字符’#’时,结束输入和输出操作。但该程序有错。 #include <iostream> #include <fstream> using namesp

admin2010-03-29  40

问题 以下程序企图把从键盘终端输入的字符输出到名为abc.txt的文件中,当从终端读到字符’#’时,结束输入和输出操作。但该程序有错。     #include <iostream>     #include <fstream>     using namespace std;     int main()     {        ofstream ofile;  char ch;        ofile.open("d:\\abc.txt", ’W’);        do{              cin>>ch;              ofile.put(ch);        }while(ch!=’#’);        ofile.close();        return 0;     }    程序出错的原因是(   )。

选项 A、成员函数open调用形式错误
B、输入文件没有关闭
C、成员函数put调用形式错误
D、对象ofile定义错误

答案1

解析 本题考核文件的打开。C++中,可以在定义文件流对象的同时打开文件,也可以在定义文件流对象以后用open()函数打开文件。可以通过构造函数或open函数的第2个参数,确定文件的打开模式。打开模式用下列常量表示:
   ios_base::app    为添加数据而打开(总是在文件尾部写);
   ios_ase::binary    作为二进制文件打开:
   ios_ase::in    为输入而打开:
   ios_ase::out    为输出而打开;
   ios_base::tmnc    若文件存在,截为空文件;
   ios_base::ate    打开时定位于文件尾。
   题中成员函数open()的第2个实参不符合C++的打开模式,所以产生调用错误。
转载请注明原文地址:https://kaotiyun.com/show/gDjp777K
0

相关试题推荐
随机试题
最新回复(0)