C中文件路径中的文件名变量

File name variable in file path in C

所以我正在编写一个使用文本文件的程序。我有一行代码是这样的。

pfw = fopen(fileName, "w");

我正在尝试让该程序在此相对路径中创建一个 txt 文件

./TextFiles/

我不知道如何在文件路径中实现 fileName 变量。 当我有静态文件名并且程序不要求我给它一个文件名或者文件名不是变量并且它有效时,我通常这样做。

pfw = fopen("./TextFiles/fileName.txt", "w");
  • #define 如果没有使用配置文件,则为相对路径
#define BASE_DIR "./TextFiles/"

char* finalName = malloc (strlen(BASE_DIR) + strlen(fileName) + 1);
if (!finalName) { /* error handling */ }

sprintf (finalName, "%s%s", BASE_DIR, fileName);

FILE* pfw = fopen(finalName, "w");
/*
...
*/
// free after usage
free (finalName);