我在这里找到了一个非常有用的问题和答案: How to create ofstream file with name of variable?
但是因为我有<在这里有50个声望,我无法对那里的答案发表评论。
我有以下代码:
string fileName;
cout << "Enter file name: ";
cin >> fileName;
fileName += ".txt";
ofstream createFile;
createFile.open(fileName.c_str());
我想要做的就是将新创建的变量名'fileName.c_str()'保存到某个路径,例如/ home / Data /.../ fileName.c_str()。
每当我尝试明确地放置路径时:
createFile.open("/home/Geant4/Data/.../fileName.c_str()");
它将该文件保存为该文件中的'fileName.c_str()',没有新名称。 我无法在线找到有关更改变量文件名路径的信息,因此我们非常感谢您提供帮助。
谢谢。
答案 0 :(得分:1)
尝试:createFile.open("/home/Geant4/Data/.../"+ filename);
答案 1 :(得分:0)
符号“”意味着它是一个字符串。你所做的是将代码放在一个字符串中,所以这将被视为一个字符串。
您实际上需要构建代表您的文件的字符串,包括路径和文件名。
string fileName;
cout << "Enter file name: ";
cin >> fileName;
string fullPath = "/home/Geant4/Data/.../" + fileName + ".txt";
ofstream createFile;
createFile.open(fullPath.c_str());