用C语言写程序
在e盘中有一个文本名叫am.txt,现在要打开am.txt,并往其中写入数据,这是我编的程序,但运行时总输出cannotopenfile,为什么?程序如下:#includ...
在e盘中有一个文本名叫 am.txt,现在要打开 am.txt,并往其中写入数据,这是我编的程序,但运行时总输出cannot open file,为什么?
程序如下:
#include "stdio.h"
#include "stdlib.h"
main()
{
FILE *fp;
char ch;
if((fp=fopen("e:\am.txt","w"))==NULL)
{
printf("cannot open file\n");
exit(0);
}
ch=getchar();
while(ch!='#')
{
fputc(ch,fp);putchar(ch);
ch=getchar();
}
putchar(10);
fclose(fp);
} 展开
程序如下:
#include "stdio.h"
#include "stdlib.h"
main()
{
FILE *fp;
char ch;
if((fp=fopen("e:\am.txt","w"))==NULL)
{
printf("cannot open file\n");
exit(0);
}
ch=getchar();
while(ch!='#')
{
fputc(ch,fp);putchar(ch);
ch=getchar();
}
putchar(10);
fclose(fp);
} 展开
5个回答
展开全部
一楼说的不对,程序可以连续输入。
fp=fopen("e:\am.txt","w"))==NULL
改为:
fp=fopen("e:\\am.txt","w"))==NULL
再添加一句: ch=getchar();
就可以看到输入的内容写到文本文档里了。
程序如下:
#include "stdio.h"
#include "stdlib.h"
main()
{
FILE *fp;
char ch;
if((fp=fopen("e:\\am.txt","w"))==NULL)
{
printf("cannot open file\n");
exit(0);
}
ch=getchar();
ch=getchar();
while(ch!='#')
{
fputc(ch,fp);putchar(ch);
ch=getchar();
}
putchar(10);
fclose(fp);
}
fp=fopen("e:\am.txt","w"))==NULL
改为:
fp=fopen("e:\\am.txt","w"))==NULL
再添加一句: ch=getchar();
就可以看到输入的内容写到文本文档里了。
程序如下:
#include "stdio.h"
#include "stdlib.h"
main()
{
FILE *fp;
char ch;
if((fp=fopen("e:\\am.txt","w"))==NULL)
{
printf("cannot open file\n");
exit(0);
}
ch=getchar();
ch=getchar();
while(ch!='#')
{
fputc(ch,fp);putchar(ch);
ch=getchar();
}
putchar(10);
fclose(fp);
}
展开全部
\是转义字符,例如\n就是回车。
在字符串中要包含\就要用\\来代替。
就是说在双引号中,\\才是\
在字符串中要包含\就要用\\来代替。
就是说在双引号中,\\才是\
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把w 该为 wb 或者wt 因为你硬盘上没有该文件,必需首先创建
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
e:\am.txt 改成 e:\\am.txt 试试看
追问
但am.txt中没有输入的内容啊
追答
一次存入一个字符,程序没有问题。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
e:\am.txt -> e:\\am.txt try again please!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询