C语言 fopen为什么打开不了txt文件 10

我的部分code如下,filename已经定了为了简介就没有一起给出;我已经在在该程序的文件夹里建立了对应的txt文件,但是debug的时候老是提示程序已停止。。。。FI... 我的部分code如下,filename已经定了为了简介就没有一起给出;
我已经在在该程序的文件夹里建立了对应的txt文件,但是debug的时候老是提示程序已停止。。。。

FILE *fp;
fp=fopen(filename,"r");
if((fp=fopen(filename,"r"))==NULL)
{
printf("Input file not found.");
exit(0);
}
前面已经定义字符串filename[31]=“planetext.txt"
展开
 我来答
大鱼儿不吐泡泡
高粉答主

2020-12-10 · 每个回答都超有意思的
知道小有建树答主
回答量:4841
采纳率:0%
帮助的人:124万
展开全部
你好,我是大鱼儿不吐泡泡,用百度网盘分享给你,点开就可以保存,链接永久有效^_^
如果有另外想要的资源或者链接失效,可以使用百度网盘推出的【收集文件】功能进行提问收集资源哦,无需转存简单快捷,功能链接:https://pan.baidu.com/disk/main#/transfer/list 微信小程序、百度网盘app、web端都已上线
AA5956
推荐于2017-10-01 · TA获得超过1867个赞
知道小有建树答主
回答量:705
采纳率:72%
帮助的人:444万
展开全部

fopen这个函数是可以打开txt文件。打不开有以下原因

  1. 文件路径不对,请检查相对路径与绝对路径是否写的正确。

  2. 打开一个不存在的文件,请检查该文件是否存在

  3. 一下权限是需要在打开时文件就已经存在了

    r 以只读方式打开文件,该文件必须存在。

    r+ 以可读写方式打开文件,该文件必须存在。

    rb+ 读写打开一个二进制文件,允许读写数据,文件必须存在。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
金色潜鸟
2013-11-29 · TA获得超过3.2万个赞
知道大有可为答主
回答量:1.3万
采纳率:89%
帮助的人:5008万
展开全部
把多写的一句 fp=fopen(filename,"r"); -- 删去。

debug的时候,可执行程序在 Debug 文件夹,你已建文件默认 必须存在于 Debug 文件夹。
filename 字符串 含文件夹和路径时,注意单斜杠要写成双斜杠。

MS VC++ 6.0 是较成熟的编译器,一个平台上产生的EXE 可在多种平台上工作。
程序头文件以前,写上一句(一行宏定义):
#define WINVER 0x0602
就能很好地在 Win-8 Win-7 等上运行。
追问
还是不行诶。。。我加了define删了多写的一句还是不行。。。。。。。
我用calloc给filename命名输入字符串之后,在fopen里打开文件,debug的时候一直说程序stop working~
用puts来检查文件名,用strlen检查长度,比如文件名 a.txt,puts显示出来也是a.txt,strlen计算长度是5,都是没有错误的~
追答
查实际文件名,和你程序用的文件名是否一样。然后
开一个命令窗(DOS cmd 窗),进入 Debug 文件夹。
运行你的程序。
--------------------------------
FILE *fp;
char filename[]="planetext.txt";
if((fp=fopen(filename,"r"))==NULL)
{
printf("Input file not found.");
exit(0);
} else printf("Good !\n");
------------------------------------
还有办法,先建a.txt,再读:
FILE *fp;
char filename[]="a.txt";
int a,b;
fp=fopen(filename,"w");
fprintf(fp,"123 456\n");
fclose(fp);
fp=fopen(filename,"r");
fscanf(fp,"%d %d",&a,&b);
fclose(fp);
printf("a=%d b=%d\n",a,b);
system("pause");
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
a599203716
2013-11-29 · 超过16用户采纳过TA的回答
知道答主
回答量:74
采纳率:0%
帮助的人:31.5万
展开全部
FILE *FP
fp = fopen("F:\\filename.txt","r"); //打开F盘中的filename文件,要这样打开
if(fp==NULL)
{
printf("Input file not found.");
exit(0);
}
更多追问追答
追问
那如果要建立一个新的txt怎么办呢,fopen建立的txt文件就是在visual studio对应project的根目录里的吧
那如果要建立一个新的txt怎么办呢,fopen建立的txt文件就是在visual studio对应project的根目录里的吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
流星不死
2013-11-29 · TA获得超过1662个赞
知道小有建树答主
回答量:1621
采纳率:0%
帮助的人:1242万
展开全部
"filename.txt"才对
更多追问追答
追问
没啦~我在前面已经定义字符串filename[31]=“planetext.txt"了~所以应该不是这个原因吧~
追答
去掉一句fp=fopen(filename,"r");试试
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式