如何更改可变文件名的文件路径?

How to change file path of a variable file name?

我在这里找到了一个非常有用的问题和答案: 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()',但没有新名称。 我在网上找不到有关更改变量文件名路径的信息,因此不胜感激。

谢谢。

尝试:createFile.open("/home/Geant4/Data/.../"+ filename);

符号“”表示它是一个字符串。您所做的是将代码放入一个字符串中,因此这将被视为一个字符串。

您实际上需要构建代表您的文件的字符串,包括路径和文件名。

string fileName;
cout << "Enter file name: ";
cin >> fileName;

string fullPath =  "/home/Geant4/Data/.../" + fileName + ".txt"; 
ofstream createFile;
createFile.open(fullPath.c_str());