C语言编译结果全选复制,编程实现将选中的若干个文件的内容依次复制插入到一个新文件new.txt中(C语言),求解答...

满意答案

00e27ab806e4881f8254fe7ae8741834.png

ohyzdl

2014.12.17

00e27ab806e4881f8254fe7ae8741834.png

采纳率: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分享举报

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值