第14周-文件的写入与读出(多例)

来源:互联网 发布:python的入门书 知乎 编辑:程序博客网 时间:2024/05/21 17:56
/* *All rights reserved. *文件名称:main.cpp *作        者:姜 甜 甜 *完成日期:2015年6月1日 *版  本  号:v1.0*/
#include<iostream>#include <fstream>#include<cstdlib>using namespace std;int main( ){    int a[10];    ofstream outfile("f1.dat",ios::out);//定义文件流对象,打开磁盘文件"f1.dat"    if(!outfile)                        //如果打开失败,outfile返回0值    {        cerr<<"open error!"<<endl;        exit(1);    }    cout<<"enter 10 integer numbers:"<<endl;    for(int i=0; i<10; i++) //向磁盘文件"f1.dat"输出数据    {        cin>>a[i];        outfile<<a[i]<<" ";    }    cout<<"The numbers have been writen to file. "<<endl;    outfile.close();       //关闭磁盘文件"f1.dat"    return 0;}

2)定义输入文件流对象,以输入方式打开磁盘文件f1.dat

#include<iostream>#include <fstream>#include<cstdlib>using namespace std;int main( ){    int a[10],max,i,order;    ifstream infile("f1.dat",ios::in);    //定义输入文件流对象,以输入方式打开磁盘文件f1.dat    if(!infile)    {        cerr<<"open error!"<<endl;        exit(1);    }    for(i=0; i<10; i++)    {        infile>>a[i];  //从磁盘文件读入10个整数,顺序存放在a数组中        cout<<a[i]<<" ";    }          //在显示器上顺序显示10个数    cout<<endl;    max=a[0];    order=0;    for(i=1; i<10; i++)        if(a[i]>max)        {            max=a[i];                //将当前最大值放在max中            order=i;                 //将当前最大值的元素序号放在order中        }    cout<<"max="<<max<<endl<<"order="<<order<<endl;    infile.close();    return 0;}
#include<iostream>#include<fstream>#include<cstdlib>using namespace std;void save_to_file( );void get_from_file();int main( ){    save_to_file( );    //调用save_to_file( ),从键盘读入一行字符并将其中的字母存入磁盘文件f2.dat    get_from_file( );    //调用get_from_file(),从f2.dat读入字母字符,改为大写字母,再存入f3.dat    return 0;}// save_to_file函数从键盘读入一行字符,并将其中的字母存入磁盘文件void save_to_file( ){    ofstream outfile("f1.dat");    //定义输出文件流对象outfile,以输出方式打开磁盘文件f1.dat    if(!outfile)    {        cerr<<"open f1.dat error!"<<endl;        exit(1);    }    char c[80];    cin.getline(c,80);   //从键盘读入一行字符    for(int i=0; c[i]!=0; i++) //对字符逐个处理,直到遇′/0′为止        if((c[i]>=65 && c[i]<=90)||(c[i]>=97 && c[i]<=122))//如果是字母字符        {            outfile.put(c[i]);       //将字母字符存入磁盘文件f1.dat            cout<<c[i];        }                            //同时送显示器显示    cout<<endl;    outfile.close();                 //关闭f1.dat}//从磁盘文件f1.dat读入字母字符,将其中的小写字母改为大写字母,再存入f3.datvoid get_from_file(){    char ch;    ifstream infile("f1.dat",ios::in);    //定义输入文件流outfile,以输入方式打开磁盘文件f1.dat    if(!infile)    {        cerr<<"open f1.dat error!"<<endl;        exit(1);    }    ofstream outfile("f3.dat");    //定义输出文件流outfile,以输出方式打开磁盘文件f3.dat    if(!outfile)    {        cerr<<"open f3.dat error!"<<endl;        exit(1);    }    while(infile.get(ch))//当读取字符成功时执行下面的复合语句    {        if(ch>=97 && ch<=122)          //判断ch是否为小写字母            ch=ch-32;                  //将小写字母变为大写字母        outfile.put(ch);               //将该大写字母存入磁盘文件f3.dat        cout<<ch;                      //同时在显示器输出    }    cout<<endl;    infile.close( );                 //关闭磁盘文件f2.dat    outfile.close();                 //关闭磁盘文件f3.dat}

已存在的文件在使用时会刷新
例子:

#include <iostream> #include <fstream> using namespace std;int main() {         fstream outfile,infile;         outfile.open("data.dat",ios::out);         outfile<<"1111111111"<<endl;         outfile<<"aaaaaaaaaa"<<endl;         outfile<<"AAAAAAAAAA"<<endl;    outfile<<"**********"<<endl;    outfile.close();         infile.open("data.dat",ios::in);         char line[80];         int i=0;         while(!infile.eof())         {                 i++;                 infile.getline(line,sizeof(line));                 cout<<i<<": "<<line<<endl;         }         infile.close();     return 0;}


将从a中读入的数据输出到b

#include <iostream>#include <fstream>using namespace std;int main(){    ifstream readFile;    ofstream writeFile;    char ch;    readFile.open("a.txt", ios::in);    writeFile.open("b.txt", ios::out);    while (readFile.get(ch))        writeFile.put(ch);    readFile.close();    writeFile.close();    cout << "Finish!" << endl;    return 0;}
#include <iostream>#include <fstream>#include<cstring>using namespace std;int main(){    ifstream readFile;    ofstream writeFile;    char ch[100];    readFile.open("a.txt", ios::in);    writeFile.open("b.txt", ios::out);    while (!readFile.eof())    {        readFile.getline(ch,100,'\n');        writeFile.write(ch,strlen(ch));        writeFile.write("\n",1);    }    readFile.close();    writeFile.close();    cout << "Finish!" << endl;    return 0;}


writeFile.write(ch,strlen(ch)); write open 函数

 

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 孩子20个月离婚怎么办 两个月宝宝闹夜怎么办 两个月宝宝闹瞌睡怎么办 2岁宝宝话特别多怎么办 宝宝3岁还不会说话怎么办 小儿3岁说话晚怎么办 1岁半了不会说话怎么办 宝宝2岁还说话晚怎么办 一岁宝宝不愿意学说话怎么办 2周岁宝宝不愿意学说话怎么办 三岁宝宝不爱说话应该怎么办 三岁宝宝不理人怎么办 两岁半宝宝不说话不连贯怎么办 宝宝三岁说话口齿不清怎么办 b超宝宝腿短怎么办 两岁宝宝学说话口吃怎么办 两岁宝宝说话少怎么办 三岁宝宝说话少怎么办 快4岁不会说话怎么办 宝宝2岁半不爱说话怎么办 两岁半宝宝注意力不集中怎么办 中国出生的外籍小孩怎么办签证 中国人入外籍后国内财产怎么办 中国人入外籍后国内资产怎么办 小孩去美国上小学怎么办 咳嗽震的胸口疼怎么办 高中孩子对手机着迷怎么办 小孩不肯读书沉迷游戏怎么办 小孩沉迷吃鸡游戏怎么办 高一数学成绩差怎么办 小孩子学数学用手指算怎么办 孩子d和b分不清怎么办 和家人走散后怎么办幼儿教案 小孩胃口不好不爱吃饭怎么办 幼儿园孩子学习记不住怎么办 幼儿园小孩数字记不住怎么办 大班教案走丢了怎么办 ppt加视频反了怎么办 拔罐之后背疼怎么办 拔完火罐后背疼怎么办 打印机红色的口堵了怎么办