关于#c++#的问题:注意是整个控制台里的信息写入一个指定的文件夹

img


C加加如何实现这一功能?注意是整个控制台里的信息写入一个指定的文件夹。有没有简洁一点的方法,求思路。

使用ofstream 即可,写了一个示例,包含普通字符串和结构体写入文件的例子。
示例运行截图:

img

示例代码:

#include <iostream>
#include <fstream>
using namespace std;

typedef struct _stTest
{
    char name[20];
    int age;
}stTest;


int main() 
{
    ofstream os("outfile.txt",ios::out);
    cout << "this is a test" << endl; //写入控制台
    os << "this is a test" << endl;  //写入文件

    cout << "早上好" << endl;
    os << "早上好" << endl;


    stTest s;
    strcpy(s.name, "张三");
    s.age = 20;

    cout << s.name << " " << s.age << endl;
    os << s.name << " " << s.age << endl; //结构体写入文件

    os.close();//关闭文件流
    return 0;
}

使用文件流和重定向操作,可参考如下代码:

#include <iostream>
#include <fstream>
using namespace std;

int main() {
    ofstream outputFile;
    string fileName = "output.txt";

    // 打开文件
    outputFile.open(fileName);

    if (!outputFile.is_open()) {
        cout << "无法打开文件:" << fileName << endl;
        return 1;
    }

    // 保存控制台输出到文件
    streambuf* originalStdout = cout.rdbuf();  // 保存原始的cout输出流
    cout.rdbuf(outputFile.rdbuf());  // 重定向cout输出流到文件

    // 控制台输出
    cout << "这是控制台输出的内容1" << endl;
    cout << "这是控制台输出的内容2" << endl;

    // 恢复cout输出流到原始状态
    cout.rdbuf(originalStdout);

    // 关闭文件
    outputFile.close();

    return 0;
}
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632