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" 展开
我已经在在该程序的文件夹里建立了对应的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" 展开
展开全部
把多写的一句 fp=fopen(filename,"r"); -- 删去。
debug的时候,可执行程序在 Debug 文件夹,你已建文件默认 必须存在于 Debug 文件夹。
filename 字符串 含文件夹和路径时,注意单斜杠要写成双斜杠。
MS VC++ 6.0 是较成熟的编译器,一个平台上产生的EXE 可在多种平台上工作。
程序头文件以前,写上一句(一行宏定义):
#define WINVER 0x0602
就能很好地在 Win-8 Win-7 等上运行。
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");
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
FILE *FP
fp = fopen("F:\\filename.txt","r"); //打开F盘中的filename文件,要这样打开
if(fp==NULL)
{
printf("Input file not found.");
exit(0);
}
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的根目录里的吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
"filename.txt"才对
更多追问追答
追问
没啦~我在前面已经定义字符串filename[31]=“planetext.txt"了~所以应该不是这个原因吧~
追答
去掉一句fp=fopen(filename,"r");试试
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不知道你fp定义时候,有没有初始化 在 =fopen() 前令其等于NULL。其他什么问题我就不知道了
更多追问追答
追问
诶?要怎么等于NULL呢?要加什么语句吗
追答
就是FILE *fp = NULL; 但是我不确定你的问题是由这个引起的哈,我只是猜可能没有初始化会出问题
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询