如何使用fopen在当前目录的文件夹内写入文件

How to write file inside folder in current directory using fopen

我想写入一个文件,该文件位于当前工作目录的文件夹内,文件名是传递给函数的数值。

void record_data(number[]) {
    FILE *fptr;
    fptr = fopen("./folder/number", "w");
}

我无法以这种方式这样做(它将文件命名为 number)。

我怎样才能正确地做到这一点?

假设您的意思是 int number 而不是您的 number[],后者无效 C.

您可以使用 sprintf(),或者最好使用 snprintf():

void record_data(int number) {
    char str[255]; //Large enough buffer.
    snprintf(str, sizeof(str), "./folder/%d", number);
    FILE *fptr;
    fptr = fopen(str, "w");
}

并考虑在您的 FILE * 上调用 fclose()