码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2015-03-10 19:29:53      阅读:256      评论:0      收藏:0      [点我收藏+]

标签:iostream   filter   fstream   文件   

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
大家可以试试。

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

标签:iostream   filter   fstream   文件   

原文地址:http://blog.csdn.net/y990041769/article/details/44176789

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!