gpt4 book ai didi

c++ - 写入终端和文件 C++

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:29:20 25 4
gpt4 key购买 nike

我发现这个问题针对 Python、Java、Linux 脚本有答案,但没有针对 C++:

我想将我的 C++ 程序的所有输出都写入终端和输出文件。使用这样的东西:

int main ()
{
freopen ("myfile.txt","w",stdout);
cout<< "Let's try this";
fclose (stdout);
return 0;
}

仅将其输出到名为“myfile.txt”的输出文件,并阻止它在终端上显示。我怎样才能让它同时输出到两者?我使用 visual studio 2010 express(如果这会有什么不同的话)。

提前致谢!

最佳答案

可能的解决方案:使用类似静态流 cout 的对象来写入 cout 和文件。

粗略的例子:

struct LogStream 
{
template<typename T> LogStream& operator<<(const T& mValue)
{
std::cout << mValue;
someLogStream << mValue;
}
};

inline LogStream& lo() { static LogStream l; return l; }

int main()
{
lo() << "hello!";
return 0;
}

不过,您可能需要显式处理流操纵器。

Here is my library implementation.

关于c++ - 写入终端和文件 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21232517/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com