У меня есть функция, показанная ниже. В другом месте программы я скопировал строки в массивы в структуре qa. Я знаю, что это работает, так как ранее в моем сценарии я напечатал их обоих. Что я хочу, чтобы эта функция делала, так это создавала новый файл каждый раз при запуске и записывала в файл то, что хранится в структуре qa.
Я пробовал это с fwrite, однако это не работает. Могу ли я написать целую структуру, как это, или мне нужно было бы копировать каждый массив отдельно. Если я должен сделать это отдельно, как я могу это сделать, чтобы он записывал строку массива q, а затем строку массива одну за другой?
#define MAX 11
#define LONG 250
struct qa{
char q[MAX][LONG];
char a[MAX][LONG];
};
void copy(qa){
int j;
char fn[50];
FILE *l;
for(j = 0; j < MAX; j++){
fn[sizeof "file100.txt"];
sprintf(fn, "file%d.txt", j);
l = fopen(fn,"w");
}
if (f != NULL){
fwrite(&qa[j], sizeof(qa), 1, l);
}
else{
printf("File not blank");
}
fclose(l);
}