文件输入/输出
写入到文本文件中
文本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; }