使用fstream文件输入和输出

王朝other·作者佚名  2006-02-01
窄屏简体版  字體: |||超大  

为了打开一个文件供输入或输出,除了iostream头文件外,还必须包含头文件:

#include <fstream>

为了打开一个头文件,我们必须声明一个ofstream类型的对象:

ofstream outfile( “ name-of-file” );

为了测试是否已经成功地打开了一个文件,我们可以这样写:

if ( !outfile )

cerr << “Sorry! We were unable to open the file!\n” ;

类似地,为了打开一个文件供输入,我们必须声明一个ifstream类型的对象:

ifstream infile ( “name of file “ );

if ( ! infile )

cerr << “Sorry! We were unable to open the file!\n” ;

举例:

#include <fstream>

#include "iostream.h"

#include <string>

using std::string;

using std::ofstream;

using std::ifstream;

int main()

{

ofstream outfile( "out_file " );

ifstream infile( "in_file " );

if( !outfile ){

cerr << "error: unable to open output file!\n" ;

return -1;

}

if( !infile ){

cerr << "error: unable to open input file!\n" ;

return -1;

}

string word;

while ( infile >> word )

outfile <<word << ' ';

return 0;

}

运行,结果如下:

error: unable to open input file!

运行的结果告诉我们必须先建立一个input file, 另一方面也告诉我们声明了ofstream outfile( "out_file " )后,程序会自动建立文件out_file, 然后我们在且只能在源文件所在目录下(由于没有指定文件路径),新建in_file文件(注意:没有后缀)。

可以用记事本打开,并写入“hello world!”。保存,关闭后,再次运行程序,然后我们在源文件所在目录下,看到新建的output file。

使用记事本打开out_file, 文件里已被写入“hello world!"。

如果使用文本文档输入输出,则我们在声明ofstream, ifstream时,编写如下代码

ofstream outfile( "out_file.txt" );

ifstream infile( "in_file.txt" );

如果我们想改变文档所在的位置,则可以如下编写代码(将文件路径改为C盘根目录)

ofstream outfile( "c:\out_file.txt" );

ifstream infile( "c:\in_file.txt" );

例子二

#include <fstream>

#include "iostream.h"

#include <string>

using std::string;

using std::ofstream;

using std::ifstream;

int main()

{

ofstream outfile( "c:\out_file.txt" );

ifstream infile( "c:\in_file.txt" );

if( !outfile ){

cerr << "error: unable to open output file!\n" ;

return -1;

}

if( !infile ){

cerr << "error: unable to open input file!\n" ;

return -1;

}

string word;

while ( infile >> word )

outfile <<word << ' ';

return 0;

}

建立文本文件in_file.txt, 并写入“hello world!”

运行程序

打开out_file.txt

文件里已被写入“hello world!"。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航