2017-06-29 14 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()); 

私がやりたいことのすべては、例えば/home/Data/.../特定のパスに新たに作成された変数名「fileName.c_strを()」保存しています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()); 
関連する問題