ofstream 引用使用字符串?
ofstream reference using string?
我正在制作一个具有多种功能的程序:
int totalDays(ofstream &outputFile, int noEmployee)
{
string fileName = "employeeAbsences.txt";
outputFile.open(fileName);
但是,我不知道怎么称呼它:
int main()
{
int employeesNumber = employees();
string fileName = "employeeAbsences.txt";
employees();
totalDays(fileName, employeesNumber);
文件名在调用中带有下划线,说明它不能是字符串。我应该用什么名称调用第一个函数?
您的 totalDays() 函数的第一个参数是对 ofstream 对象的引用,但您传递的是一个字符串(文件名)。这不会像您报告的那样编译。
在 main() 中,您应该实例化一个 ofstream 对象并将该对象作为第一个参数传递给您的 totalDays() 函数。
让我们正确地声明(和定义)函数:
void totalDays(std::ofstream& outputFile,
int employee_quantity,
const std::string& filename)
{
outputFile.open(filename.c_str());
//...
}
现在调用它:
std::ofstream outputFile;
totalDays(outputFile, employeesNumber, fileName);
您的 totalDays
函数需要输出文件(流)传回 main
并且它需要文件名才能打开文件。因此,您需要将这些项目传递给您的函数。
我正在制作一个具有多种功能的程序:
int totalDays(ofstream &outputFile, int noEmployee)
{
string fileName = "employeeAbsences.txt";
outputFile.open(fileName);
但是,我不知道怎么称呼它:
int main()
{
int employeesNumber = employees();
string fileName = "employeeAbsences.txt";
employees();
totalDays(fileName, employeesNumber);
文件名在调用中带有下划线,说明它不能是字符串。我应该用什么名称调用第一个函数?
您的 totalDays() 函数的第一个参数是对 ofstream 对象的引用,但您传递的是一个字符串(文件名)。这不会像您报告的那样编译。
在 main() 中,您应该实例化一个 ofstream 对象并将该对象作为第一个参数传递给您的 totalDays() 函数。
让我们正确地声明(和定义)函数:
void totalDays(std::ofstream& outputFile,
int employee_quantity,
const std::string& filename)
{
outputFile.open(filename.c_str());
//...
}
现在调用它:
std::ofstream outputFile;
totalDays(outputFile, employeesNumber, fileName);
您的 totalDays
函数需要输出文件(流)传回 main
并且它需要文件名才能打开文件。因此,您需要将这些项目传递给您的函数。