您的位置:首页 > 编程语言 > C语言/C++

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

2013-07-10 13:37 190 查看
简单文件操作的使用方法,供课程设计学生参考。

文本文件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为输入文件流,相当于cin
ofstream myFile2; //myFile2为输出文件流,相当于cout

void 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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: