如何设置默认文件 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");
我想在计算机上的特定位置创建和写入文件。我有一个相当大的项目正在进行,所以我只 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");