【发布时间】:2013-12-25 03:11:39
【问题描述】:
我想使用 OFstream 在文件夹中创建一个文件。以下代码行 - 始终给出“无法创建输出文件......”。不管我怎么尝试。
最终我想用一个变量(字符串类型)替换字符串的 JOHN 部分。
非常感谢提示。
ofstream output_file(".\\Players\\JOHN\\Balance.txt", ios::app); // open the output file for appending
if (!output_file.is_open()) { // check for successful opening
cout << "Output file could not be opened! Terminating!" << endl;
_sleep(1000);
return 1;
}
else{
output_file << getAcctbal();
output_file.close();
return 0;
}
编辑:
有一个 Players 文件夹 - 在那个 Players 文件夹中。对于每个单独的玩家,我想要一个文件(所以约翰)在这种情况下是一个文件夹。这个文件夹不存在,是我想要实现的。 非常感谢:-)
【问题讨论】:
-
您确定目录
Players和Players\JOHN相对于当前工作目录存在吗? (这可能与您的可执行文件不在同一个目录。) -
不,文件夹 JOHN 是我要创建的文件夹。在该文件夹中,我想创建一个名为 DETAILS.txt 的文件夹
-
也许您没有创建它的访问权限?
-
打开文件不会创建目录(又名文件夹)。您需要为此使用不同的 API。我不确定最好的 Windows API 是什么,但在 POSIX(又名 UNIX、Linux)中,
mkdir()是您想要的。 Windows 也可能支持它,因为它有一些 POSIX 支持。不过,我不是 Windows 专家。 -
@JoeZ - 这就是我出错的地方!我一直认为 OFstream 会为我创建它:L