#include <iostream>
#include <fstream>
using namespace std;
string name;
int n = 1;
// Account Number
int main()
{
cout << "What is your full name? : ";
cin >> name;
ofstream myfile;
filec:
//Go to file creation
myfile.open ("account" << n << ".txt");
myfile << "Account Holder: " << name << endl;
myfile.close();
}
如所见,我尝试在每次唯一失败时在结尾处创建具有不同编号的文件,但我在myfile.open行上始终遇到错误
答案 0 :(得分:0)
当ofstream使用open时,它期望一个String(或更具体地说是char *)作为其输入。您必须将n转换为字符串。此外,您需要附加字符串的不同部分,而不要使用重载的运算符<<,因为它的任何操作都不能为您提供单个字符串的预期结果。如果您使用的是c ++ 11,则std库中包含to_string,您可以简单地使用以下内容:
#include <iostream>
#include <fstream>
using namespace std;
string name;
int n = 1;
// Account Number
int main()
{
cout << "What is your full name? : ";
cin >> name;
ofstream myfile;
filec:
//Go to file creation
myfile.open("account" + to_string(n) + ".txt");
myfile << "Account Holder: " << name << endl;
myfile.close();
}