how to dynamically create multiple files
how to dynamically create multiple files
(OP)
Hi,
I need help on creating create multiple files dynamically, meaning, creating a file when i need to write in it, then move to another file to write some other things...
because FILE *'s need to be declared ahead of time... i don't know how to create this recursively... I don't know how many files i need to create until run time.
Thank you for any suggestion!
k
I need help on creating create multiple files dynamically, meaning, creating a file when i need to write in it, then move to another file to write some other things...
because FILE *'s need to be declared ahead of time... i don't know how to create this recursively... I don't know how many files i need to create until run time.
Thank you for any suggestion!
k
RE: how to dynamically create multiple files
Create static array with ptr to FILE arguments, and realloc this array when you need. And init two static integers, one to control array size, other - for current file in use.
RE: how to dynamically create multiple files
You can reuse a FILE variable. Below is some basic code for getting the file names from a user.
/**** Untested ****/
#include <stdio.h>
#include <string.h>
int main(void)
{
FILE *fp;
char fname[FILENAME_MAX+1];
printf("Enter file names, CTRL-D to quit\n");
while (NULL!=fgets(fname,sizeof buf,stdin)) {
if (NULL!=strrchr(fname,'\n')) {
fname[strlen(fname)-1]='\0';
}
if (NULL==(fp=fopen(fname,"w")) {
fprintf(stderr,"Failed to open %s\n",fname);
continue;
}
/* Do some stuff with the file */
}
return 0;
}
Is this similar to what you want to do or did I misunderstand the intent of your question?
HTH,
Russ
bobbitts@hotmail.com
http://home.earthlink.net/~bobbitts