首页 > 解决方案 > c++ - 让函数将单独函数的信息输出到文本文件

问题描述

我想将我的一个函数打印到一个单独的文本文件中。我已经尝试了下面的内容,但是当我尝试 outfile << print(); 时,我收到一条错误消息,提示“二进制表达式的操作数无效”。任何帮助,将不胜感激。

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

using namespace std;

void printing();

int main() {
  printing();
  printFile();
}

void printing() {
  cout << "Cheers";
}

void printFile() {
  ofstream cout("World.txt", ios::out);

  if (cout) {
    cout << print();
 }
}

标签: c++

解决方案


print()返回 a void,因此您不能在... << print()表达式中使用它。将print()所需的输出流作为参数,例如:

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

#include "Lab.h"
using namespace std;

void print(ostream &out = cout);

int main() {
  print();
  printToTextFile();
}

void print(ostream &out) {
  out << "Cheers";
}

void printToTextFile() {
  ofstream outfile("World.txt");
  if (outfile) {
    print(outfile);
 }
} 

推荐阅读