C++打开文件的两种方式概述
1.ifstream 类为例,通过 open 成员函数打开注意到在流对象上执行 open 成员函数,给出文件名和打开模式,就可以打开文件。判断文件打开是否成功,可以看“对象名”这个表达式的值是否为 true,如果为 true,则表示文件打开成功。源码如下:#include <iostream>#include <fstream>using namespace std;int
·
1.ifstream 类为例,通过 open 成员函数打开
注意到在流对象上执行 open 成员函数,给出文件名和打开模式,就可以打开文件。
判断文件打开是否成功,可以看“对象名”这个表达式的值是否为 true,如果为 true,则表示文件打开成功。
源码如下:
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
ifstream inFile;
inFile.open("D:\\GRADE.txt", ios::in);
if (inFile) //条件成立,则说明文件打开成功
inFile.close();
else
cout << "GRADE.txt doesn't exist" << endl;
ofstream oFile;
oFile.open("GRADE.txt", ios::out);
if (!oFile) //条件成立,则说明文件打开出错
cout << "error 1" << endl;
else
oFile.close();
oFile.open("d:\\out.txt", ios::out | ios::in);
if (oFile) //条件成立,则说明文件打开成功
oFile.close();
else
cout << "error 2" << endl;
fstream ioFile;
ioFile.open("..\\o2ut.txt", ios::out | ios::in | ios::trunc);
if (!ioFile)
cout << "error 3" << endl;
else
ioFile.close();
return 0;
}
注意,当不再对打开的文件进行任何操作时,应及时调用 .close() 成员方法关闭文件。
2.通过在构造函数中给出文件名和打开模式打开文件。以 ifstream 类为例,定义流对象构造:
ifstream::ifstream (const char* szFileName, int mode = ios::in, int);
所以有如下的示例文件源:
/http://c.biancheng.net/view/294.html
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
ifstream inFile("c:\\tmp\\test.txt", ios::in);
if (inFile)
inFile.close();
else
cout << "test.txt doesn't exist" << endl;
ofstream oFile("test1.txt", ios::out);
if (!oFile)
cout << "error 1";
else
oFile.close();
fstream oFile2("tmp\\test2.txt", ios::out | ios::in);
if (!oFile2)
cout << "error 2";
else
oFile.close();
return 0;
}
更多推荐
已为社区贡献3条内容
所有评论(0)