我已经搜索了将文件存储在特定位置的线程,但我的问题仍然存在。
我正在尝试将文件写入特定路径,但找不到该文件。但是,如果我要求程序将文件写入当前目录,它可以工作。 在这两种方式中,我都没有得到任何错误。我的示例代码如下。
string path="~\Documents\trialrun\"; file_name="abc.dat";
ofstream outfile;
outfile.open(""+path+""+file_name+"",fstream::append);
这根本不写文件,而
outfile.open(""+file_name+"",fstream::append);
答案 0 :(得分:3)
出于本答案的目的,我将假设代码第一行中的反斜杠不在您的实际代码中。
~\Documents\trialrun
不是有效路径。该代字号是一种速记,将通过像Bash这样的shell环境进行扩展,但是你没有使用Bash!你宣布了一条实际路径。
您将不得不使用特定于平台的API将路径扩展为其“实际”等效路径,就像Bash所做的那样,或者完全写出路径开始。