0
#include <iostream>
#include <fstream>
#include <cstdlib>
using namespace std;

int main() {

fstream inOutGrades( "grades.dat", ios::in | ios::out | ios::binary );

if ( !inOutGrades ) {
    cerr << "The file could not be opened." << endl;
    exit(1);
}

return 0;
}

//Output is 
The file could not be opened.

我已经在 Windows 7 和 lubuntu 上使用 QT 和 Code::blocks 尝试过这个程序。它们都无法创建 Grades.dat 文件。

4

2 回答 2

3

删除ios::in并应创建文件。您无法指定ios::in文件是否不存在。但是,如果您添加ios::trunc,则可以同时指定两者ios::in,并且ios::out因为您从一个空文件开始。

于 2012-08-10T00:25:05.333 回答
0
fstream FHandle;
FHandle.open("grades.dat", ios::out);
if(FHandle.is_open())
    cout << "Opened !";
else
    cout << "Not Opened !";

这应该有效。

于 2012-08-10T00:24:51.383 回答