c++ - 如何将函数的结果写入文件 C++
问题描述
我认为这是一个非常简单的问题,但我没有找到答案。
我希望将函数的结果写入文件。
该文件已打开,我可以向其写入一个简单的字符串,但不能写入该函数的结果。
我错过了什么?
#include <iostream>
#include <fstream>
using namespace std;
void addingtext(){
for (int i = 0; i < 8; ++i)
{
std::cout << i << endl;
}
}
int main () {
ofstream file;
file.open("example.txt");
if(file.is_open()){
std::cout << "File Open Access \n";
}
file << "Write this to the file";
addingtext();
//file << addingtext;
file.close();
return 0;
}
解决方案
addingtext()
什么都不返回,并写入std::cout
.
你有两个选择:
选项 1:addingtext()
返回一个字符串,然后将其写入文件:
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
std::string addingtext() {
std::string result;
for (int i = 0; i < 8; ++i)
{
std::cout << i << endl;
result += i;
result += "\n";
}
return result;
}
int main() {
ofstream file;
file.open("example.txt");
if (file.is_open()) {
std::cout << "File Open Access \n";
}
file << "Write this to the file";
file << addingtext();
file.close();
return 0;
}
选项 2:写入addingtext()
文件:
#include <iostream>
#include <fstream>
using namespace std;
void addingtext(ofstream& o) {
for (int i = 0; i < 8; ++i)
{
std::cout << i << endl;
o << i << endl;
}
}
int main() {
ofstream file;
file.open("example.txt");
if (file.is_open()) {
std::cout << "File Open Access \n";
}
file << "Write this to the file";
addingtext(file);
file.close();
return 0;
}
推荐阅读
- javascript - Cookie 信息弹出制造商 - 在用户拒绝后如何不发送 cookie?
- angular - Angular - Jasmine 单元测试的模拟 Promise 方法
- ruby-on-rails - 检测并删除上传的 ZIP 文件中的所有可执行文件
- google-app-engine - 为自定义域启用 SSL 时未在 Google App Engine 中列出子域
- android - getAppStandbyBucket 需要未知权限
- php - htaccess 404 重定向适用于除 .php 之外的每个扩展名或路径
- angular - 如何在 ngFor 中使用响应式表单
- c# - Enum.GetValues() 是否使用反射?
- java - 在由按钮触发的主要活动中创建不同的活动
- python - 在校准期间尝试停止 batch_norm 训练时张量流模型的发散