aCC下的fstream

发表于:2007-05-26来源:作者:点击数: 标签:
使用stl,就意味着告别熟悉的c-style编程方式,对文件的处理也毫不例外. fstream可以用来对文件进行处理,它象对待数据流一样对待文件. 以下给出一个例子.关键是事先要创建fstream.out文件,哪怕是个空文件,也要先创建.因为fstream不会为你创建. #includeiostrea

使用stl,就意味着告别熟悉的c-style编程方式,对文件的处理也毫不例外.

fstream可以用来对文件进行处理,它象对待数据流一样对待文件.

以下给出一个例子.关键是事先要创建fstream.out文件,哪怕是个空文件,也要先创建.因为fstream不会为你创建.

#include<iostream>
#include<fstream>
int main ( )
{
         using namespace std;

          // create a bi-directional fstream object
         fstream inout("fstream.out");

          // output characters
         inout << "Das ist die rede von einem man" << endl;
         inout << "C'est l'histoire d'un home" << endl;
         inout << "This is the story of a man" << endl;

         char p[100];

          // seek back to the beginning of the file
         inout.seekg(0);

          // extract the first line
         inout.getline(p,100);

          // output the first line to stdout
         cout << endl << "Deutch :" << endl;
         cout << p;

         fstream::pos_type pos = inout.tellg();

          // extract the second line
         inout.getline(p,100);

          // output the second line to stdout
         cout << endl << "Francais :" << endl;
         cout << p;

          // extract the third line
         inout.getline(p,100);

          // output the third line to stdout
         cout << endl << "English :" << endl;
         cout << p;

          // move the put sequence before the second line
         inout.seekp(pos);

          // replace the second line
         inout << "This is the story of a man" << endl;

          // replace the third line
         inout << "C'est l'histoire d'un home";
          // replace the third line
         inout << "C'est l'histoire d'un home";

          // seek to the beginning of the file
         inout.seekg(0);

          // output the all content of the fstream
          // object to stdout
         cout << endl << endl << inout.rdbuf();
}

原文转自:http://www.ltesting.net