c语言fopen函数打不开文件

我有两个TXT文件分别在d:\a.txt,d:\b.txta文件里的数据为"ABCD"B里面的数据为空,下面代码的结果是将A文件的内容复制到B文件内~#include<s... 我有两个TXT文件分别在d:\a.txt, d:\b.txt a文件里的数据为 "ABCD" B 里面的数据为空,下面代码的结果是将A文件的内容复制到B文件内~

#include <stdio.h>
#include <stdlib.h>

void main()
{
FILE *in,*out;
char ch,infile[10],outfile[10];

printf("infile name\n");
scanf("%s",infile);
printf("outfile name\n");
scanf("%s",outfile);

in = fopen(infile,"r");
out = fopen(outfile,"w");

while(! feof(in))
{
fputc(fgetc(in),out);
}
fclose(in);
fclose(out);
} 这段代码可以执行 SCANF输入的分别为D:\A.TXT D:\B.TXT

#include <stdio.h>
#include <stdlib.h>

void main()
{
FILE *in,*out;

in = fopen("d:\a.txt","r");
out = fopen("d:\b.txt","w");
while (! feof(in))
{
fputc(fgetc(in),out);
}

fclose(in);
fclose(out);
} 这段代码却不能执行 能编译成EXE 但CMD运行结果是卡住~死循环~

上面输入AB文件的地址那部分是不是有什么问题;

我用char *filename="d:\a.txt";
in=fopen(filename,'r'); 也是能编译但执行结果不是预期的结果,这是怎么回事
展开
 我来答
百度网友4ae77a4
2011-04-13
知道答主
回答量:30
采纳率:0%
帮助的人:26.2万
展开全部
SCANF输入的分别为D:\A.TXT D:\B.TXT

改成

D:\\A.TXT 和 D:\\B.TXT
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
海盗船长娘娘
2011-04-13 · 超过10用户采纳过TA的回答
知道答主
回答量:48
采纳率:0%
帮助的人:16万
展开全部
转义字符 多加一个 “\”。
追问
为什么要多加一个?  哦 突然好像有点明白了   \在“”中一般是不显示的是吧~就像\N一样  两个\就可以显示\了 是吧
追答
嗯,差不多是这个意思吧~~比如 \t \n \\
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
MF999
2020-03-23 · TA获得超过356个赞
知道小有建树答主
回答量:178
采纳率:0%
帮助的人:37.2万
展开全部
in = fopen("d:\a.txt","r");
out = fopen("d:\b.txt","w");*****************d盘下的文件a.txt和b.txt,文件名不要加.txt。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式