我想写一个文件,它位于当前工作目录的文件夹中,文件名是传递给函数的数字值。
void record_data(number[]) {
FILE *fptr;
fptr = fopen("./folder/number", "w");
}
我不能这样做(它将文件命名为number
)。
我该如何正确地做到这一点?
答案 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 *
。