使用宏作为fstream文件输入作为类的一部分

时间:2010-05-21 02:26:32

标签: c++ file fstream

我有一个处理文件的类,作为带有一个参数的构造函数的一部分,我想使用fstream输入文件。

我基本上想要它做这样的事情

class someClass{
   public:
      someClass(char * FILENAME)
      {   
          fstream fileToProcess;
          fileToProcess.open(<FILENAME>, fstream::in | fstream::out | fstream::app);
      }
};

我想将文件名作为参数传递给类构造函数,然后class someClass将使用fstream访问它。

2 个答案:

答案 0 :(得分:3)

你可以按照你在问题中列出的方式来做到这一点。只需将给定构造函数的字符串传递给fstream的open()方法:

someClass(const char *filename)
{   
    fstream fileToProcess;
    fileToProcess.open(filename, ...);
}

答案 1 :(得分:2)

您不需要宏,也不必显式调用open。

using std::fstream;

class someClass
{
    fstream fileToProcess;
    public:
    someClass(char * filename) 
    : fileToProcess(filename, fstream::in | fstream::out | fstream::app) 
    {
    }
};