C++中文件的读出及写入

1>在C语言中,我们都知道怎样直接用txt文件输入以及把输出结果直接输出到文件中。写法很简单:

    freopen("Input.txt","r",stdin);
    freopen("Output.txt","w",stdout);

是调一个通用的函数 freopen,在头文件<stdio.h>中,这个函数有三个参数,第一个表示读入或者输出文件的文件名,第二个有两个可选参数,“w”表示write,即写入,“r”表示read,标读入,然后最后一个也是固定的用法,stdin表示读入,而stdout标输出,基本用法是固定的,没有什么变化,因此只要记住这个固定结构就可以了。


2>下面我们来看看C++中操作文件,首先我们来看写入文件中。

A)它包含一个类,ofstream,在头文件<fstream>中,cout就是这个类衍生出的一个变量,因此cout的用法都可以用于这个类,只是它是直接用于输出到文件中。

我们来看一个练习:

#include <iostream>
#include <fstream>
using namespace std;

int main()
{
    ofstream outfile,fout;
    outfile.open("fish.txt");
    char s[50];
    cin>>s;
    //cout << fixed;
    //cout.precision(2);
    //cout.setf(ios_base::showpoint);
    cout<<"Make and model: "<<s<<endl;
    outfile<<"PPS Make and model: "<<s<<endl;  //将输出写入到文件中,所有cout的函数都可以用
    outfile.close();
    return 0;
}

运行完之后可以找一下fish.txt这个文件中,就是outfile这个变量输出的内容。

B)读入文件的话用法也很简单,用类ifstream,同样也在头文件<fstream>中,cin就是其衍生出的一个变量,所以cin的所有用法同样也可以用于这个类。

我们看一个练习:

#include <iostream>
#include <fstream>
#include <cstdlib>
using namespace std;

int main()
{
    ifstream infile;
    infile.open("fish.txt");
    if(!infile.is_open())
    {
        cout<<"Could Not Open File!!!";
        exit(EXIT_FAILURE);
    }
    double val,sum = 0.0;
    int count = 0;
    infile >> val;
    while(infile.good())
    {
        count++;
        sum+=val;
        infile >> val;
    }
    if(infile.eof())
        cout<<"End Of File!!";
    cout<<"Count: "<<count<<endl;
    cout<<"Sum: "<<sum<<endl;
    infile.close();
    return 0;
}

这个程序写的有点繁琐,他检查了文件是否打开成功,以及是否以EOF结尾,但是其中的文件读入还是很简洁的。

首先运行这个程序必须自己建立一个fish.txt文件,其中放入一些浮点数,以空格隔开,就可以运行一下看看结果了。

出入文件类似这样:

18 19 18.5 13.5 14 17.5
16 19.5 20 18 12 18.5
大家可以试试。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值