加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 09:45:18 所属栏目:百科 来源:网络整理
导读:好吧,所以我想做一些我自己确实发现的内容.我希望在我的函数中有一个可选的参数,这个参数会做两件事; 1.确定文本是打印到控制台还是打印到文件 2.如果是这种情况,将其打印到文件,否则打印到控制台 我希望它在同一个函数中,因为我想要非常高效的代码. 这就是
好吧,所以我想做一些我自己确实发现的内容.我希望在我的函数中有一个可选的参数,这个参数会做两件事;
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;
    }
}

对于好奇的..
代码来自我正在研究的迷宫项目,我正在生成一个随机迷宫,解决它,并且还有可能从文件中读取迷宫然后解决它.
现在剩下的就是将它打印到文件中.但正如所说,我想将我的普通打印合并到打印机上,而不是制作两个函数.我只是想知道……有可能吗?
我的“Map [] []”是一个向量< vector< char> >

解决方法

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

然后只传递要写入的任何流.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读