第一次贡献者,但我相信我已经正确检查了过去的帖子并且没有找到有效的解决方案。我正在使用 Visual Studio 2012...
本质上,我要做的就是将输出流式传输到对象拥有的日志文件中。我对应该如何精确地实现这一点没有任何疑虑,但档案中没有任何内容。
据我了解,这个公认的解决方案应该有效:
#include <fstream>
// classA.h
class A {
private:
std::ofstream * _logfile;
public:
A(void);
void dosomething(void) const;
}
和
// classA.cpp
#include classA.h
A::A(void) : _logfile(0) {
std::ofstream output("logfile.txt",std::ofstream::app);
_logfile = &output;
}
A::dosomething(void) {
*_logfile << "Print something" << std::endl;
}
和
// main.cpp
int main() {
A a = new A();
a->dosomething();
}
这编译正常,但只是挂起。我猜最有可能是因为输出在 ctor 端消失了。什么是实现此功能的好方法?其他 StackOverflow 建议读取会导致编译器错误...
谢谢,克里斯