Microsoft visual C++6.0运行程序出现应用程序错误:内存不能为“read”

在MicrosoftvisualC++6.0中新建项目He,其中he.c文件代码为:#include<stdio.h>#include<stdlib.h>//为了使用ex... 在Microsoft visual C++6.0中新建项目He,其中he.c文件代码为:
#include<stdio.h>#include <stdlib.h> //为了使用exit()
int main(){ int ch; FILE * fp; char fname[50]; //用于存放文件名
printf("Enter the name of the file: "); scanf("%s",fname); fp = fopen(fname,"r"); //打开文件以供读取 if(fp == NULL) { printf("Failed to open file .Bye\n"); exit(1); //终止程序 } //getc(fp)从打开的文件中获取一个字符 while((ch=getc(fp))!=EOF) putchar(ch); fclose(ch); //关闭文件 return 0; }
在项目路径下新建文件 a23.txt 文件,内容为上面的代码。编译没有错误提示,但是当在出现的DOS窗口中输入相应文件名字按回车后会出现
He.exe应用程序错误

DOS中运行情况:

当点击错误提示中的确定后,会出现:

这是为什么呢?如何解决?可否详细说明下。谢谢!
展开
 我来答
匿名用户
推荐于2016-06-11
展开全部

#include<stdio.h>

#include <stdlib.h>  


int main()

{

 int ch;

 FILE * fp;

 char fname[50];   

 printf("Enter the name of the file: ");

 scanf("%s",fname);

 fp = fopen(fname,"r");   //此时当前文件夹下应该有输入的文件

 if(fp == NULL)

 {

  printf("Failed to open file .Bye\n");

  exit(1);  

 }


 while((ch=getc(fp))!=EOF)

  putchar(ch);

 fclose(fp);  //关闭文件,使用文件指针

 return 0;  

}

//运行时,输入文件名,如abc.txt,当前文件夹下已有该文件,

其内容为:

运行结果为:

Sephil
2014-06-06 · 知道合伙人IT服务行家
Sephil
知道合伙人IT服务行家
采纳数:616 获赞数:1036
熟悉常用语言和数据库,爱写代码

向TA提问 私信TA
展开全部
fclose(fp);  //关闭文件
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
felithuang
2014-06-06 · TA获得超过849个赞
知道小有建树答主
回答量:520
采纳率:50%
帮助的人:708万
展开全部
fclose(ch); //关闭文件
这里编译应该会报错吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式