c语言程序,把一个txt文件中的内容复制到另一个txt文件中!

运行正常的代码:#include<stdio.h>#include<stdlib.h>intmain(intargc,char*argv[]){charch[256];F... 运行正常的代码:
#include<stdio.h>
#include<stdlib.h>
int main(int argc,char *argv[])
{
char ch[256];
FILE *fp1;
FILE *fp2;
fp1=fopen(argv[1],"r");
fp2=fopen(argv[2],"r+");
while(fgets(ch,256,fp1)!=NULL)
{
puts(ch);
fputs(ch,fp2);
}
fclose(fp1);
fclose(fp2);
return 0;
}
运行出现的代码:
#include<stdio.h>
#include<stdlib.h>
int main()
{
char cha1[50];
char cha2[50];
gets(cha1);
gets(cha2);
char ch[256];
FILE *fp1;
FILE *fp2;
fp1=fopen(cha1,"r");
fp2=fopen(cha2,"r+");
while(fgets(ch,256,fp1)!=NULL)
{
puts(ch);
fputs(ch,fp2);
}
fclose(fp1);
fclose(fp2);
return 0;
}
为什么第二个代码会出现错误呢?通过命令行模式输入文件名和不通过命令行模式输入文件名有什么区别么?怎么修改第二个代码,才能实现正常运行呢?
展开
 我来答
wssznh1999
2012-08-30 · TA获得超过428个赞
知道小有建树答主
回答量:232
采纳率:0%
帮助的人:364万
展开全部
你输入的时候是不是两个文件名之间用空格符做分隔符啊,gets函数是以回车符为结束符的,输入格式应该为:
in.txt
out.txt
这样子,不能这样子:
in.txt out.txt
shaoqi08110820
推荐于2016-11-01 · TA获得超过2508个赞
知道大有可为答主
回答量:1514
采纳率:100%
帮助的人:1719万
展开全部
fp2=fopen(cha2,"a+");//追加方式打开,就可以了,测试通过
追问
编译是过了,可是第一个txt文件中的内容并没有复制到第二个txt中去呀?
而是用第一代码,能够完成复制操作!
追答
//怎么可能,我的怎么可以把文件一里面的内容,加到文件二
#include
#include
int main()
{
char cha1[50];
char cha2[50];
gets(cha1);
gets(cha2);
char ch[256];
FILE *fp1;
FILE *fp2;
fp1=fopen(cha1,"r");
fp2=fopen(cha2,"a+");
while(fgets(ch,256,fp1)!=NULL)
{
puts(ch);
fputs(ch,fp2);
}
fclose(fp1);
fclose(fp2);
return 0;
}

//先在E 建好文件 hello.txt hello1.txt
输入样式为e:\\hello.txt
e:\\hello1.txt
结果就显示出来
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式