我想生成60个文件,program0.txt,..,program59.txt。 我怎样才能做到这一点?
我的尝试:
FILE *fp[60];
for(i=0;i<60;i++){
fp[i]=fopen("program.txt","w");
fprintf(fp[i],"zeros=[");
}
答案 0 :(得分:8)
使用以下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] );
*/
}
答案 1 :(得分:3)
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;
}
}
答案 2 :(得分:2)
似乎问题是如何使用索引生成文件名。您可以对sprintf
使用i
:
char file_name[20];
sprintf(file_name, "program%d.txt", i);