如何将函数的结果写入文件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;
}