大家好,我迅速编写了一个测试程序,向您显示我遇到的问题。

我正在使用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/

10-09 06:33