好吧,所以我想做一些我自己觉得相当有趣的事情..我想在我的函数中有一个可选参数,这个参数会做两件事; 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/