我想生成60个文件,program0.txt,..,program59.txt。 我该怎么做?如何在C中生成多个文件
我尝试:
FILE *fp[60];
for(i=0;i<60;i++){
fp[i]=fopen("program.txt","w");
fprintf(fp[i],"zeros=[");
}
我想生成60个文件,program0.txt,..,program59.txt。 我该怎么做?如何在C中生成多个文件
我尝试:
FILE *fp[60];
for(i=0;i<60;i++){
fp[i]=fopen("program.txt","w");
fprintf(fp[i],"zeros=[");
}
使用以下filename[]
到form名
char filename[15] ;
int i;
for(i =0; i<60; ++i)
{
sprintf(filename, "program%02d.txt",i);
//printf("%s\n", filename);
/*
fp[i] = fopen(filename ,"w");
....
fclose(fp[i]);
*/
}
看来问题是如何生成的索引文件名。您可以使用sprintf
每个i
:
char file_name[20];
sprintf(file_name, "program%d.txt", i);
的snprintf可以用来形成一个文件名。
int main()
{
int i =0;
char str [1024];
for(i=0;i<60;i++){
snprintf (str, sizeof (str), "/home/test/file_%d.txt", i);
printf ("%s\n", str);
if (NULL == fopen(str,"w"))
return 1;
}
}
+1不使用60个文件指针:) – ha9u63ar 2014-10-28 09:05:35
您需要使用fclose()或者泄露资源。 – Lundin 2014-10-28 09:16:46
OP是使用当前目录,所以上述工作正常,除了文件被放置在错误的目录。 – user3629249 2014-10-28 15:27:30
修复文件名,不要忘记在完成后关闭文件。 – HAL 2014-10-28 08:57:54