zoukankan      html  css  js  c++  java
  • 第十三周项目6-体验文件操作:C++文件操作初体验

    将数据“写入/输出”到文件中

    //看这个例子一定要举一反三,凡是要将数据输出到文件(写文件)都可这样处理
    #include<fstream>    //处理文件要包括头文件fstream
    #include<iostream>
    #include<cstdlib>   //调用exit(1)需要包含cstdlib
    using namespace std;
    int main( )
    {
        int a;
        //打开文件,要使用文件必须正确打开,对输出文件,注意写ios::out
        // f1.dat是要“写”的文件名,你可以起你喜欢的名字,如myfile.txt
        ofstream outfile("f1.dat",ios::out);
        if(!outfile)    				//测试文件打开操作是否成功
        {
            cerr<<"open error!"<<endl;
            exit(1);				//打开不成功,则提示后退出。
        }
        //用ios::out方式成功打开文件后,可以如下所示将数据保存到文件中
        //操作中,要用打开的文件对象名(outfile),而不是用文件名(此例f1.dat)
        //本例将键盘输入的10个整数“写”到文件中。
        for(int i=0; i<10; i++)
        {
            cin>>a;
            outfile<<a<<endl;   //a被写到了文件
            //理解:outfile就是前面打开文件时创建的“输出文件流对象”,
            //是否想起了cout<<a<<endl?道理一样,用法也一样,只是输出到了文件
        }
        outfile.close();  			//关闭文件。用完了必须关闭,否则会丢失数据
        cout<<"处理完毕,请打开文件查看结果!"<<endl;
        return 0;
    }	
    运行结果:


    从文件中读入数据

    #include <fstream>   //操作文件必写
    #include<iostream>
    #include<cstdlib>   //调用exit(1)需要包含cstdlib
    using namespace std;
    int main( )
    {
        int a,max=-9999,i; //要求最大值,先默认其为一个很小的数
        //以输入的方式(ios::in)打开文件,注意f1.dat必须在文件夹中存在
        ifstream infile("f1.dat",ios::in);
        //测试是否成功打开,打开失败时(如要读的数据文件不存在)退出
        if(!infile)
        {
            cerr<<"open error!"<<endl;
            exit(1);
    }
    //下面读取数据并完成处理,若数据需要多次使用,可以读入到数组中
        while(infile>>a)  //当到达文件尾,则循环处理结束。类似cin>>a,只不过数据来源于打开的文件
        {
             if(a>max) max=a;   //在读入过程中,max将保存最大值
        }
        infile.close(); 		 //读入完毕要关闭文件
        //下面对数据的操作和文件就没有关系了,本例输出求得的最大值
        cout<<"文件中最大的数是:"<<max<<endl;
        return 0;
    }


    @ Mayuko


  • 相关阅读:
    归并排序(Merge Sort)
    AtCoder AGC035D Add and Remove (状压DP)
    AtCoder AGC034D Manhattan Max Matching (费用流)
    AtCoder AGC033F Adding Edges (图论)
    AtCoder AGC031F Walk on Graph (图论、数论)
    AtCoder AGC031E Snuke the Phantom Thief (费用流)
    AtCoder AGC029F Construction of a Tree (二分图匹配)
    AtCoder AGC029E Wandering TKHS
    AtCoder AGC039F Min Product Sum (容斥原理、组合计数、DP)
    AtCoder AGC035E Develop (DP、图论、计数)
  • 原文地址:https://www.cnblogs.com/mayuko/p/4567609.html
Copyright © 2011-2022 走看看