永发信息网

c语言从文件读入输出到另一文件中为什么有一个y上面加两点的符号?

答案:2  悬赏:50  手机版
解决时间 2021-02-21 16:36
#include
#include
int main(void)
{
char filename1[30],filename2[30];
scanf("%s",filename1);
FILE *fp1,*fp2;
if((fp1=fopen(filename1,"r"))==NULL)
{
printf("open file error");
exit(1);
}else
{
scanf("%s",filename2);
fp2=fopen(filename2,"w");
while(!feof(fp1))
{
fputc(fgetc(fp1),fp2);
}
}
fclose(fp1);
fclose(fp2);
return 0;
}
最佳答案
这个符号应该出现在最后的吧。其实是你多读了一个字符。你可以这么做
增加一个变量,char temp;
然后把while 改成如下形式
while(!feof(fp1))
{
temp = fgetc(fp1);
if (!feof(fp1))
fputc(temp,fp2);
}
全部回答
feof(in) 测定是否遇到 eof, 这个工作要在 读语句后面 即时做。 while(!feof(in)) { ch=fgetc(in); ...}; fgetc 读到 eof 后,你继续执行fputc(ch,out); 就多输出了一个y上面加两点,到下一轮循环开始,才做 (!feof(in)) 的判断,才退出。 改成: while(1) { ch=fgetc(in); // 读 if ( feof(in) ) break; // 判断文件指针是否到达eof,若是,则跳出循环,不再输出 fputc(ch,out); fputc(ch,stdout); }
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
QQ自由幻想拯救任务怎么做?
有没有人能送我一个王者荣耀露娜的皮肤 紫霞
敏茜饺子馆地址有知道的么?有点事想过去
京东小白卡靠谱不 审核需要多久
j家里数字电视机颜色变成紫色了,遥控器如何
老马回味斋餐厅在什么地方啊,我要过去处理事
【英语词典哪个好】英语词典的优劣比较牛津,
你好,请问 我误删了手机系统 很抱歉,系统用
长春的朋友进~~~ 从中东到硅谷大街动画产业园
戴美瞳眼睛有丝状分泌物
金沙回沙酒旗舰店地址有知道的么?有点事想过
什么苹果树能自花授粉
中国五环大酒店地址有知道的么?有点事想过去
上海南动车组 到 上海外滩怎么走呀。。因
不动产发票的房屋单价开错了怎么办?在线等。
推荐资讯
you're,abig,dick
下列关于环境问题特点的k*s#5^u说法,正确的k
松拓斯巴达系列手表计步可以和QQ运动同步吗?
女人为什么总爱伤害过她的男人?对伤害过她的
浮山县消协二峰山分会我想知道这个在什么地方
吉光路/振康街(路口)怎么去啊,有知道地址的
到底是男人为女人付出多呢 还是女人为男人付
重庆长寿区有没有苹果手机专营店?在哪里呢?
申请青岛公积金贷款买房需要什么条件
嘉兴去丽水走高速,路程,时间,费用,三项大
内存卡里的文件都变成了只读文件,怎么办啊?
自然香茗茶怎么去啊,有知道地址的么
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?