Я хочу создать последовательность текстовых файлов, например ...

student1.txt
student2.txt
student3.txt
...

Как это сделать?

У меня есть образец кода, но он не решает мою проблему.

#include<stdio.h>

void main()
{
    FILE *fp;
    int index;

    for(index=1; index<4; index++)
    {
        fp=fopen("student[index].txt","w");
        fclose(fp);
    }
}
1
NiPoo 23 Окт 2018 в 20:17

2 ответа

Лучший ответ

Вы используете фиксированную строку "student [index] .txt" вместо того, чтобы создавать строку с нужным числом.

void main()
{
  FILE *fp;
  int index;
  char fname[100];

  for(index=1; index<4; index++)
  {
    sprintf(fname, "student%d.txt", index);
    fp=fopen(fname,"w");
    fclose(fp);
  }
}
2
lostbard 23 Окт 2018 в 18:38

Вы не можете помещать переменные в такую строковую константу. Вам нужно построить нужную строку, используя sprintf:

for(index=1; index<4; index++)
{
    char name[20];
    sprintf(name, "student%d.txt", i);
    fp=fopen(name,"w");
    fclose(fp);
}
0
dbush 23 Окт 2018 в 17:20
52954535