gpt4 book ai didi

c++ - 将 cout 重定向到文件与直接在 linux 中写入文件

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:43:00 24 4
gpt4 key购买 nike

对于 C++/linux 程序,写入 cout(当 cout 在程序启动期间被重定向到一个文件时)与直接写入目标文件相比如何? (通过说 fstream)

系统是否在程序开始时施展了适当的魔法使这两种情况完全等同,或者后面的 gonig 是否比第一个更好?

谢谢!

最佳答案

它们基本上是等价的。在这两种情况下,底层流缓冲区将最终调用 write() 系统调用,以获得相同的效果。

但请注意,默认情况下,cout 与 stdio 同步,以实现向后兼容性(因此您可以使用 C 风格的标准输出以及 cout,并使其按预期工作)。这种额外的同步会降低 C++ 输出的速度。如果这很重要,那么您可以使用 std::ios_base::sync_with_stdio(false) 取消链接它们。那么,文件重定向的 cout 和 fstream 应该具有基本相同的性能和功能。

关于c++ - 将 cout 重定向到文件与直接在 linux 中写入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1527367/

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