我不明白髮生了什麼。我有這樣的代碼:類內的Ifstream
#include <iostream>
#include <fstream>
using namespace std;
int main(int argc, char *argv[])
{
ifstream infile;
infile.open("test.txt");
if(!infile) return 1;
infile.close();
return 0;
}
它工作正常。名爲「text.txt」的文件不存在。應用程序返回1.但是,當我將相同的代碼放入類中時,它將以其他方式工作。以下是聲明:
#pragma once
#include <iostream>
#include <fstream>
using namespace std;
class Record
{
public:
Record(char *filename);
public:
~Record(void);
private:
ifstream infile;
}
而且構造:
Record::Record(char *filename)
{
infile.open(filename);
if(!infile.is_open()) return;
}
看來 「IS_OPEN」 的方法是行不通的。我做錯了什麼?
說一些「不工作」是無益的。你期望會發生什麼?究竟發生了什麼? –
你沒有把相同的代碼放在cass裏面: -/ –
我預料如果文件不存在,對象將不會被創建。但是對象被創建。 –