Я хочу создать последовательность текстовых файлов, например ...
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);
}
}
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);
}
}
Вы не можете помещать переменные в такую строковую константу. Вам нужно построить нужную строку, используя sprintf
:
for(index=1; index<4; index++)
{
char name[20];
sprintf(name, "student%d.txt", i);
fp=fopen(name,"w");
fclose(fp);
}
Похожие вопросы
Новые вопросы
c
C - это язык программирования общего назначения, используемый для системного программирования (ОС и встраиваемых), библиотек, игр и кроссплатформенности. Этот тег следует использовать с общими вопросами, касающимися языка C, как это определено в стандарте ISO 9899 (последняя версия 9899: 2018, если не указано иное, а также для запросов, специфичных для версии, с c89, c99, c11 и т. Д.). C отличается от C ++ и не должен сочетаться с тэгом C ++ без разумной причины.