满意答案
ohyzdl
2014.12.17
采纳率:51% 等级:7
已帮助:2064人
#include "stdio.h"
int main()
{
int star,last,a;
FILE *fp,*fp1;
char filename[30];
char Filen[]="new.txt";
int len;
char ch;
scanf("%s %d %d",filename,&star,&last);
len=0;
a=star;
while(filename[len++]!='\0');
if((fp1=fopen(Filen,"w"))==NULL)
{
printf("无法打开文件%s!",Filen);
return 0;
}
for(;star<=last;star++)
{
filename[len-1]='\0';
sprintf(filename,"%s%d.txt",filename,star);
if((fp=fopen(filename,"r"))==NULL)
{
printf("无法打开文件%s!",filename);
return 0;
}
fprintf(fp1,"%s\n内容:\n",filename);
while((ch=fgetc(fp))!=EOF)
{
fprintf(fp1,"%c",ch);
}
fprintf(fp1,"\n\n");
fclose(fp);
}
fclose(fp1);
}追问: 表示没有看懂
追答: #include "stdio.h"
int main()
{
int star,last,a;
FILE *fp,*fp1;
char filename[30];
char Filen[]="new.txt";
int len;
char ch;
scanf("%s %d %d",filename,&star,&last);
len=0;
a=star;
//计算文件名前缀长
while(filename[len++]!='\0');
//创建new.txt文件
if((fp1=fopen(Filen,"w"))==NULL)
{
printf("无法打开文件%s!",Filen);
return 0;
}
//“文件名前缀+序号.txt“文件是否可读,可读则逐字写到new.txt中
for(;star<=last;star++)
{
filename[len-1]='\0';
//“文件名前缀+序号.txt“赋给字符串filename
sprintf(filename,"%s%d.txt",filename,star);
if((fp=fopen(filename,"r"))==NULL)
{
printf("无法打开文件%s!",filename);
return 0;
}
//说明是哪个文件,写入文件中
fprintf(fp1,"%s\n内容:\n",filename);
逐字写到new.txt中
while((ch=fgetc(fp))!=EOF)
{
fprintf(fp1,"%c",ch);
}
fprintf(fp1,"\n\n");
//当前文件读完,关闭
fclose(fp);
}
//所有文件内容都写完了,new.txt关闭
fclose(fp1);
}
追问: 大神,能够把注解写上去吗?
追答: 如果输入:abc 1 4 ,你需自己建好:abc1.txt,abc2.txt,abc3.txt,abc4.txt四个文件并在这4个文件中写入内容,就会合并到new.txt中了
追问: 大神,应该输入什么内容运行程序,为什么输入内容进去没有反应
追答: for(;star<=last;star++)相当于:
while(star<=last)
{
......
star++;
}
追问: 我想问一下for(;star<=last;star++>)这是什么意思
追问: 怎样建立文件如何写入内容,求大神讲清楚些
追问: 大神如何建立文件并且在文件写内容,能够在一个程序中实现建立文件写内容还有合并到另一个文件中吗?
追问: 求快点回答,很是着急
00分享举报