使用"〜"未在特定路径中写入输出文件

时间:2015-12-23 13:24:03

标签: c++

我已经搜索了将文件存储在特定位置的线程,但我的问题仍然存在。

我正在尝试将文件写入特定路径,但找不到该文件。但是,如果我要求程序将文件写入当前目录,它可以工作。 在这两种方式中,我都没有得到任何错误。我的示例代码如下。

string path="~\Documents\trialrun\"; file_name="abc.dat";
ofstream outfile;
outfile.open(""+path+""+file_name+"",fstream::append);

这根本不写文件,而

 outfile.open(""+file_name+"",fstream::append);

1 个答案:

答案 0 :(得分:3)

出于本答案的目的,我将假设代码第一行中的反斜杠不在您的实际代码中。

~\Documents\trialrun不是有效路径。该代字号是一种速记,将通过像Bash这样的shell环境进行扩展,但是你没有使用Bash!你宣布了​​一条实际路径。

您将不得不使用特定于平台的API将路径扩展为其“实际”等效路径,就像Bash所做的那样,或者完全写出路径开始。