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

时间:2016-12-05 23:22:52

标签: c file-io

我想创建并写入计算机上特定位置的文件。我有一个相当大的项目,所以我将发布我坚持的部分。

f = fopen(FileName, "w");

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

这里的问题是它正在创建和存储与我的项目相同的目录位置。我想将它存储在名为" Individual"的目录中。位于同一目录中。有什么想法吗?

2 个答案:

答案 0 :(得分:1)

更改目录,例如使用chdir()

否则将路径添加到文件名的开头。

答案 1 :(得分:0)

如果需要在代码中的多个位置使用相同的逻辑,请编写名为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");