[英]How to write to file in separate function
我试图让我的程序写入一个单独的函数而不是main函数,我遇到了很多麻烦。 这是我的程序的简化版本:
#include <iostream>
#include <fstream>
using namespace std;
void writeToFile(int x)
{
outputFile << x << endl;
}
int main()
{
ofstream outputFile;
outputFile.open("program3data.txt");
for (int i = 0; i < 10; i++)
{
writeToFile(i);
}
outputFile.close();
return 0;
}
您的writeToFile
函数正在尝试使用不同范围的outputFile
变量。 您可以将输出流传递给该函数,这应该可以工作。
#include <iostream>
#include <fstream>
using namespace std;
void writeToFile(ofstream &outputFile, int x)
{
outputFile << x << endl;
}
int main()
{
ofstream outputFile;
outputFile.open("program3data.txt");
for (int i = 0; i < 10; i++)
{
writeToFile(outputFile, i);
}
outputFile.close();
return 0;
}
您需要使您的子功能知道outputFile
。 如上所述,该变量仅存在于'main'函数内部。 您可以将功能签名更改为:
void writeToFile(int x, ofstream of)
并称之为:
writeToFile(i, outputFile);
这会将变量传递给子函数,以便它也可以在该范围内使用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.