1.8 简单的文件输入输出

来源:互联网 发布:golang flag bool 编辑:程序博客网 时间:2024/04/30 11:17

1. 将数据写入文本文件中, 包含几个要点:
   (1) 必须包含头文件fstream
   (2) 头文件fstream中定义了一个用于处理输出的ofstream类
   (3) 需要声明一个或多个ofstream对象
   (4) 需要将ofstream对象与文件关联起来, 方法之一是使用open()
   (5) 使用完文件后, 应使用close()方法将其关闭
   (6) 可结合使用ofstream对象和操作符<<来输出各种类型的数据.
   定义一个ofstream类, ofstream outfile1; 然后将其与文件关联起来,使用对象的open方法来关联文件.例如下面几种:
   (1) 直接以文件路径作为open参数:outfile1.open("fish.txt"). 如果没有fish.txt文件, open()方法将会创建一个fish.txt文件, 如果已经包含了一个fish.txt文件, open()将首先丢弃其原先的内容, 然后将新的输入加入到文件中
.(当然有方法让我们保留原来的内容)
   (2) open()以字符串作为参数:
         char filename[50];
         cin>>filename;
         outfile1.open(filename);
   创建了ofstream对象, 并与文件关联之后, 下面是怎么使用此对象了. 使用方法与cout对象类似, 结合<<操作符. 例如:
         double w=125.8;
         outfile1<<w; //将w写入对象outfile1所关联的文件fish.txt中
         char line[81]="I have a dream!";
         outfile1<<line<<endl; //将line中内容和一个换行符输入对象outfile1所关联的文件fish.txt中
   总结文件输出的主要步骤:
   (1) 包含头文件fstream; #include<fstream>
   (2) 创建一个ofstream对象; ofstream outfile1;
   (3) 将ofstream对象同一个文件关联起来; outfile1.open("fish.txt");
   (4) 想使用cout那样使用ofstream对象; outfile1<<line<<endl;
   

2. 读入文本数据, 包含几个要点
   (1) 必须包含头文件fstream
   (2) 头文件fstream定义了一个用于处理输入的ifstream类
   (3) 需要声明一个ifstream对象
   (4) 将ifstream对象与文件关联
   (5) 结合操作符>>来读取各种类型数据
   (6) 使用ifstream对象的get()方法来读取一个字符, getline()方法读取一行字符
   (7) 如果最后一个读取操作成功, 返回true, 否则返回false.
   定义个ifstream对象: ifstream infile; 然后将这个对象与文件关联起来, 使用open()方法来关联文件. infile.open("fish.txt"); 这样使用对象:
   double wt;
   infile>>wt; //从file中读取一个数据
   char line[81];
   infile.getline(line, 81);//读取一行字符存入line中
   如果打开的文件不存在, 则无法对对象进行输入, 用is_open()方法判断, 成功打开文件, 则infile.is_open()返回true, 否则返回false.
   if(!infile.is_open())
       cout<<"fail to open the file/n";
   示例看上面的程序
 

原创粉丝点击