c++ - 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();
}
}
解决方案
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);
}
}
推荐阅读
- javascript - 如何在 reactJS 中使用 emailJS 向特定用户发送电子邮件
- typescript - 使用打字稿在formik错误中键入不匹配错误
- docker - Docker 中的 Nextcloud - 使用端口错误地重新定向 Talk 应用程序
- c# - 使用当前上下文中不存在的未分配局部变量
- github - Cypress 通过 Github 测试与 Xray (Jira) 的集成
- javascript - React Element Type 无效,为什么会出现此错误,如何解决?
- react-native - 如何防止在网页中刷新页面后在 react-native-navigation 中丢失标题返回按钮?
- swift - SwiftUI .sheet 崩溃
- flutter - 如何将新属性添加到颤振/飞镖中的列表项?
- c++ - 在 C++ 中,您可以使用 ToString() 函数将堆栈的内容作为字符串返回吗?