gpt4 book ai didi

c++ - 如何在没有任何缓冲区的情况下将 stderr 重定向到文件?

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

有谁知道如何在不缓冲的情况下将 stderr 重定向到文件中?如果可能的话,你能告诉我一个简单的 C++ 语言代码,用于 linux (Centos 6) 操作系统吗?!

最佳答案

在 C 中

#include <stdio.h>

int
main(int argc, char* argv[]) {
freopen("file.txt", "w", stderr);

fprintf(stderr, "output to file\n");
return 0;
}

在 C++ 中

#include <iostream>
#include <fstream>
#include <string>

using namespace std;

int
main(int argc, char* argv[]) {
ofstream ofs("file.txt");
streambuf* oldrdbuf = cerr.rdbuf(ofs.rdbuf());

cerr << "output to file" << endl;

cerr.rdbuf(oldrdbuf);
return 0;
}

关于c++ - 如何在没有任何缓冲区的情况下将 stderr 重定向到文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44881877/

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