C语言的freopen使用测试及C++的文件流简单使用

来源:互联网 发布:优酷淘宝账号登录不了 编辑:程序博客网 时间:2024/05/03 15:47

简单文件操作的使用方法,供课程设计学生参考。

文本文件1.txt内容如下5行(为避免打开文件后使用cin等C++输入时出现Bug,保证在文件与控制台之间切换输入成功,采用freopen打开的文件的最后一行添加一个空行),放在d盘根目录:
1 test
2 file
3 abcde
4 12345


一、C的freopen使用测试:

#include <iostream>#include <string>using namespace std;int main(){freopen("d:\\1.txt","r",stdin);//打开文件1.txt用来输入,文件需存在freopen("d:\\2.txt","w",stdout);//打开文件2.txt用来输出,自动创建该文件int t;char s[31];while(scanf("%d%s", &t,s)!=EOF)//处理到文件尾需要用C语言输入{string ts;ts=s;cout<<t<<" "<<ts<<endl;}freopen("CON","r",stdin);//切换到控制台输入for(int j=0;j<3;j++){cin>>s;cout<<s<<endl;}freopen("CON","w",stdout);//切换成输出到控制台cout<<s<<endl;return 0;}


二、C++文件流的简单使用方法

#include <iostream>#include <string>#include <fstream> //包含文件操作所需的头文件using namespace std;ifstream myFile1; //myFile1为输入文件流,相当于cinofstream myFile2; //myFile2为输出文件流,相当于coutvoid Open2Read(string fn)//读方式打开文件{myFile1.clear(); //清空文件myFile1.open(fn.c_str(), ios::in); //读打开,文件必须存在if (!myFile1) //打开有误{cout << "请检查目录及文件名!\n";}}void Open2Write(string fn)//写方式打开文件{myFile2.clear();myFile2.open(fn.c_str(),ios::out); //写打开,自动创建文件if (!myFile2){cout << "请检查目录!\n";}}int main(){string fn1="d:\\1.txt", fn2="d:\\2.txt",s;int t;Open2Read(fn1); //读打开文件Open2Write(fn2); //写打开文件while(myFile1>>t>>s) //从文件fn1读取数据,myFile1当作cin来用{myFile2<<t<<" "<<s<<endl; //把数据写到fn2中,myFile2当作cout来用}myFile1.close(); //文件用完必须关闭myFile2.close();return 0;}