- 论坛徽章:
- 0
|
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
fstream *pfs = new fstream;
pfs->open("/tmp/ttt", ios_base::in | ios_base: ut | ios_base::app);
if(!pfs->is_open())
{
cout << "open fail." << endl;
}
pfs->close();
delete pfs;
return(0);
}
c++中ios_base::in | ios_base: ut | ios_base::app不是有效的打开模式
那将无法像fp = fopen(name, "a+" 这样打开文件.
想了想fstream类的设计, 怎么就这么别扭呢
拿fstream和FILE对比, FILE流的打开模式有
r
r+
w
w+
a
a+
它们涵盖了所有的打开需求, 这样的设计很简洁, 很好用, 作者肯定是深思熟虑后精心设计的.
而fstream不但要创建对象, 然后打开, 打开的时候还有"无效的打开模式", 还有不能读写追加
模式打开.
最后还要关闭, 据说关闭前还有clear, 最后释放内存.
累!!!! |
|