文件输入/输出

写入到文本文件中

 

文本I/O cout

必须包含头文件iostream

头文件iostream定义了一个用于处理输出的ostream类

iostream声明了一个名为cout的ostream变量(对象)

必须指明名称空间std;

可以结合使用cout和运算符<<来显示各种类型的数据。

 

文件I/O与其相似

必须包含头文件fstream

头文件fstream定义了一个用于处理输出的ofstream类。

需要声明一个或多个ofstream变量(对象),并以自己喜欢的方式对其进行命名。

必须指明名称空间std;

需要将ofstream对象与文件关联起来。open()方法。

使用完文件后,应使用方法close()将其关闭。

可结合使用ofstream对象和运算符<<来输出各种类型的数据。

 

虽然头文件iostream提供了一个预先定义好的名为cout的ostream对象,但必须声明自己的ofstream对象,为其命名,并将其同文件关联起来。

 

//声明对象
ofstream outFile;
ofstream fout;

//将对象与特定文件关联
outFile.open("fish.txt");
char filename[50];
cin>>filename;
fout.open(filename);

 

方法open()接受一个C风格字符串作为参数,这可以是一个字面字符串,也可以是存储在数组中的字符串。

//此种对象的使用方法
double wt=125.8;
outFile <<wt;
char line[81]="Objects are closer than they appear.";
fout<<line<<endl;

总之,声明一个ofstream对象并将其彤文件关联起来后,便可以向使用cou那样使用它。所有可用于cout的操作和方法(如<<,endl,setf())都可用于ofstream对象。

总结主要步骤:

1.包含头文件fstream。

2.创建一个ofstream对象。

3.将该ofstream对象同一个文件关联起来。

4.就像使用cout那样使用该ofstream对象。

#include<iostream>
#include<fstream>                 //包含头文件fstream
using namespace std;

int main()
{
    char automobile[50];    //字符型数组,用于存储汽车品牌和车型
    int year;             //生产年份
    double a_price;        //成本价
    double d_price;        //折扣价
    ofstream outFile;                  //定义一个文件输出流对象outFile
    //定义了文件流对象后,就可以利用成员函数open打开需要操作的文件
    //void open(const unsigned char *filename,int mode,int access=filebuf:openprot);
    //filename是字符型指针,指定要打开的文件名
    //mode 指定了文件的打开方式(ostream默认为ios::out|ios::trunc)
    //access指定文件系统属性,一般取默认

    outFile.open("carinfo.txt", ios::out|ios::trunc);
    cout << "输入汽车的品牌和型号::";     
    cin.getline(automobile, 50);
    cout << "输入年份:";
    cin >> year;
    cout << "输入成本价 :";
    cin >> a_price;
    d_price = 0.913*a_price;
    cout << fixed;                     //用一般的方式输出浮点型
    cout.precision(2);                 //设置精确度为2,并返回上一次的设置
    cout.setf(ios_base::showpoint);   //显示浮点数小数点后面的零。
    //屏幕上输出
    cout << "Make and model:" << automobile << endl;
    cout << "year:" << year << endl;
    cout << "Was asking $" << a_price << endl;
    cout << "Now asking $" << d_price << endl;

    outFile << fixed;
    outFile.precision(2);
    outFile.setf(ios_base::showpoint);
    //输出到文件,类似于cout,将右边的输入到文件中
    outFile<< "Make and model:" << automobile << endl;
    outFile << "year:" << year << endl;
    outFile<< "Was asking $" << a_price << endl;
    outFile<< "Now asking $" << d_price << endl;
    //使用完毕,clos关闭
    outFile.close();
    return 0;

}

 

posted @ 2020-03-17 22:01  坦坦荡荡  阅读(225)  评论(0编辑  收藏  举报