将txt文件保存到与C++中的cpp文件相同的文件夹中



我想制作一个程序,可以将文本文件保存到与cpp文件位于同一文件夹的文件夹中,而不必写下完整路径,因为cpp文件的位置可能会更改。

示例:

我把我的cpp放在桌面上一个名为CppFileLocation的文件中:C:UsersuserDesktopCppFileLocationfile.cpp

我希望它将文本文件保存到名为CppFileHistory的文件夹中:C:UsersuserDesktopCppFileLocationCppFileHistorytextfile.txt

它应该在不在cpp文件中写入完整路径C:UsersuserDesktopCppFileLocation的情况下工作。

我试过这个:

#include <cctype>
#include <iostream>
#include <string>
#include <fstream>
#include <ctime>
using namespace std;
#pragma warning(disable : 4996)
int main()
{
    string filename = "textfile.txt";
    ofstream saveloc;
    saveloc.open("\CppFileHistory\" + fileName);
    saveloc << "this is some text.n";
    saveloc.close();
}

感谢您的阅读。

试试这个:

 saveloc.open(".\CppFileHistory\" + fileName);

带点.

但我不能保证能工作。因为C++程序应该编译成可执行文件,所以请运行该可执行文件。当可执行文件运行时,您基本上可以自由地选择它的";当前工作目录";。上面的代码所做的是,从当前工作目录.中,找到一个子目录CppFileHistory,并在其中打开fileName

在我看来,你在问题中发布的内容似乎是你将在CppFileLocation下运行可执行文件。因此,我建议作出上述改变。

最新更新