知识点
ofstream和ifstream是由头文件<fstream>定义的2个类,分别负责输入和输出
fin总是从文件开始部分读取,为了读取第二行,使用了“ fin.ignore(256,'\n'); ”
-
为了将数据写入文件,需要创建一个输出文件流ofstream的对象fout,通过构造函数来打开一个文件,将文件与fout对象连接,然后通过<<将数据插入fout对象,实现数据和文件关联的目的。
#include "stdafx.h" #include<iostream> //引入输入输出文件流对象的头文件 #include<fstream> using namespace std; //主函数 int _tmain(int argc, _TCHAR* argv[]) { //定义变量,保存程序中的数据 int nYear, nMonth, nDate; //尝试打开Date.txt文件,并将其连接到输入文件流fin ifstream fin("Date.txt"); //如果成功打开Date.txt文件,则从文件中读取内容 if (!fin.bad()) { //忽略文件中第一行的提示信息 fin.ignore(256, '\n'); //用提示符“>>"从文件输入流fin中读取记录的数据,并保存到相应的变量 fin >> nYear >> nMonth >> nDate; //将数据显示到屏幕 cout << "文件中的日期是" << nYear << "-" << nMonth << "-" << nDate << endl; //读取完成后,关闭文件 fin.close(); } else { //如果文件打开失败,则提示错误信息 cout << "无法打开文件并进行读取" << endl; } //提示用户输入新的数据并将其写入文件 cout << "请输入当前日期(年月日):" << endl; //从用户屏幕获取用户的键盘输入并保存到相应的变量中 cin >> nYear >> nMonth >> nDate; //尝试打开文件Date.txt,并将其连接到输出文件流fout中 ofstream fout("Date.txt"); //如果成功打开Date.txt文件,则将用户输入的数据写入文件 if (!fout.bad()) { //利用插入符”<<“将数据写入文件输出流fout中 //也就是将数据写入文件 fout << "用户当前的日期是:\n" << nYear << "" << nMonth << "" << nDate; //写入完成后,关闭文件 fout.close(); } else { //如果无法打开文件。则提示用户信息 cout << "无法打开文件并进行写入" << endl; } return 0; }
代码运行情况如下