C++ 通过参数写入文件或控制台

标签 c++ file printing arguments option-type

好吧,所以我想做一些我自己觉得相当有趣的事情..我想在我的函数中有一个可选参数,这个参数会做两件事; 1. 决定文本是打印到控制台还是文件 2. 如果是的话打印到文件,否则打印到控制台

我希望它在同一个函数中,因为我想要非常高效的代码。 这就是我试图解决它但显然不起作用的方法

void Maze::Print_maze(std::string file = "no!ne") const{
    if (file != "no!ne")
        std::ofstream outfile(file);
    for (int i = 0; i < Map.size(); i++)
    {
        for (int j = 0; j < Map[i].size(); j++)
        {
            if (file == "no!ne")
                std::cout << Map[i][j];
            else
                outfile << Map[i][j];
        }
        if (file == "no!ne")
            std::cout << std::endl;
        else
            outfile << std::endl;
    }
}

对于好奇的人.. 代码来 self 正在研究的迷宫项目,我正在生成一个随机迷宫,解决它,也有可能从文件中读取迷宫然后解决它。 现在剩下的就是将其打印到文件中。但如前所述,我不想制作两个功能,而是想将我的正常打印合并到控制台,并打印到一个文件。我只是想知道如何..这可能吗? 我的“ map [][]”是一个vector <vector<char> >

最佳答案

void Maze::Print_maze(std::ostream& s = std::cout)

然后只需传递您要写入的任何流即可。

关于C++ 通过参数写入文件或控制台,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16864067/

相关文章:

Firefox 仅打印第一页

c++ - C++ 编译器如何合并相同的字符串文字

c++ - libcurl 中的波兰变音符号 (c++)

c# - 检索任何窗口的所有控件及其类型和值

file - 如何将文件写入Kafka Producer

python - 使用python将json文件保存到特定文件夹

c++ - 如何静态链接到另一个项目,该项目本身需要链接到其他静态库?

linux - 如何在 Linux 终端中运行 "Dot 1"文件

css - 最后打印页的页脚

c - 写入文件时,fputs() 不会更改行