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

时间:2016-01-19 19:42:20

标签: c fopen

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

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

我不能这样做(它将文件命名为number)。

我该如何正确地做到这一点?

1 个答案:

答案 0 :(得分:6)

假设您的意思是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");
}

并考虑在使用完fclose()时调用FILE *