如何设置默认文件 I/O 位置

How can i set the default file I/O location

我想在计算机上的特定位置创建和写入文件。我有一个相当大的项目正在进行,所以我只 post 我坚持的部分。

f = fopen(FileName, "w");

FileName = 包含我要写入的文件名的变量。

问题是它正在创建此文件并将其存储在与我的项目相同的目录位置。我想将它存储在位于同一目录中的名为 Individual 的子目录中。有什么想法吗?

你可以用两种方法解决:

方法 1) 更改目录(例如 使用 chdir() 方法)

方法 2)path 添加到文件名的开头。

如果您需要在代码的多个地方使用相同的逻辑,请编写一个名为 getFileNameInDirectoryToSave.

的函数

fopen之前调用函数。

void getFileNameInDirectoryToSave(char const* in, char* out)
{
   sprintf(out, "Individual/%s", in);
}

char fileNameToSave[FILESIZE];  // Make FILESIZE large enough.
getFileNameInDirectoryToSave(FileName, fileNameToSave);
fopen(fileNameToSave, "w");

如果您只需要一次该功能,则可以使用相同的逻辑。

char fileNameToSave[FILESIZE];  // Make FILESIZE large enough.
sprintf(fileNameToSave, "Individual/%s", FileName);
fopen(fileNameToSave, "w");