2017-06-29 102 views
0

我發現了一個非常有用的問題和答案在這裏: 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()」在特定的路徑,如果沒有新的名字。 我可以在網上找到任何有關變量文件名路徑的信息,所以任何幫助表示讚賞。

謝謝。

回答

1

嘗試:createFile.open("/home/Geant4/Data/.../"+ filename);

+0

非常感謝你,這工作完美! – Turing101

0

的symboles 「」 意味着它是一個字符串。你所做的是把代碼放在一個字符串中,所以這將被視爲一個字符串。

您實際上需要構建表示文件的字符串,包括路徑和文件名。

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

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