将输出文件保存到指定文件夹 C++ Windows 7。

4
我正在使用C++,尝试将文件输出到指定位置,即与可执行文件相同目录中具有指定名称的文件夹。我没有找到一个很好的资源来介绍如何轻松完成这个任务,但我知道这一定是可能的。
我的例子是:我正在保存一个日志文件,而不是将其保存到与可执行文件相同的目录中,它保存在/logs/目录下。
谢谢您的时间!
编辑:我使用mkdir创建了一个文件夹,但是如何将文件输出到该文件夹呢?使用mkdir是否是一个好方法?我想学习最好的方法,而不仅仅是最简单的方法。

假设您正在使用mkdir()函数调用(通过包含sys/stat.h),而不是system("mkdir"),那么您对mkdir()的使用是正确的。 - Jaywalker
1个回答

6
这段代码:
#include <fstream>
#include <iostream>

int main()  {
    std::ofstream of( "C:\\mydir\\somewhere\\log.txt" );
    of << "hello\n";
}

假设目录c:\mydir\somewhere已存在,将“hello”写入文件log.txt中。是的,mkdir是正确的函数。如果不想硬编码路径,可以使用GetModuleFileName查找可执行文件的路径和名称,然后从中以编程方式创建路径 - 请参见如何获取当前目录?的示例。


5
补充一下,你也可以使用*nix风格的斜杠,即“C:/mydir/somewhere/log.txt”,这样可以使代码更具可移植性。 - Simone
你能使用相对文件路径吗,例如 - \dirname\log.txt 或其他吗? - Charles Noon

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接