大家好,我迅速编写了一个测试程序,向您显示我遇到的问题。
我正在使用fstream将数据写入游戏的文件,以便它们可以加载和保存其变量。
#include <iostream>
#include <fstream>
#include <string>
int main()
{
std::ofstream outputFile;
outputFile.open("PlayerData"); // This creates the file
std::string Name;
int Age;
std::cout << "Your Name: ";
std::cin >> Name;
outputFile << Name << std::endl;
std::cout << "Your Age: ";
std::cin >> Age;
outputFile << Age << std::endl;
outputFile.close();
return 0;
}
当我运行程序时,它将在以下位置创建“PlayerData”文件:
Visual Studio 2013 \项目\ TestFilePathing \ TestFilePathing
一切正常,但我希望将PlayerData文件而不是转储到TestFilePathing目录中,我希望将其创建到子目录中以供组织使用。
感谢:D
最佳答案
使用文件路径中的子目录:
outputFile.Open("SubDirectory/PlayerData");
之所以以
Visual Studio 2013\Projects\TestFilePathing\TestFilePathing
结尾,是因为您在调试设置中将该目录作为工作目录。 (检查项目的配置)。如果您更改该目录(或从另一个目录中的命令行启动二进制文件),则该文件将以该目录结尾。
如果指定相对路径,您将获得此行为。否则,您可以指定一个绝对路径,并且无论您的工作目录是什么,文件都会一直存在该目录中。
关于c++ - fstream C++路径,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33829200/