fopen函数返回值总为NULL
学校最近让我们大一新生自己设计一个小程序我这个fopen函数打开文件返回的值总是NULL//*************************保存voidsave(str...
学校最近让我们大一新生自己设计一个小程序
我这个fopen函数打开文件返回的值总是NULL
//*************************保存
void save(struct car *inf)
{
FILE *fp=NULL;
int i;
if((fp=fopen("information.txt","wt+"))==NULL);
{
printf("打开文件失败!\n\n");
getchar();
return;
}
for(i=0;i<m;i++,inf++)
{
if(fwrite(inf,sizeof(struct car),1,fp)==0)
printf("向文件传输数据失败!\n");
}
fprintf(fp,"%d",m);
fclose(fp);
getchar();
system("cls");
} 展开
我这个fopen函数打开文件返回的值总是NULL
//*************************保存
void save(struct car *inf)
{
FILE *fp=NULL;
int i;
if((fp=fopen("information.txt","wt+"))==NULL);
{
printf("打开文件失败!\n\n");
getchar();
return;
}
for(i=0;i<m;i++,inf++)
{
if(fwrite(inf,sizeof(struct car),1,fp)==0)
printf("向文件传输数据失败!\n");
}
fprintf(fp,"%d",m);
fclose(fp);
getchar();
system("cls");
} 展开
2个回答
展开全部
有可能是磁盘的写权限问题。
写个最简单的文件读写程序。
#include <stdio.h>
int main() {
FILE *fp = fopen("d:\\aaa.txt", "w+");
if (fp == null) {
printf("error\n");
} else {
printf("print ok!\n");
fclose(fp);
}
return 0;
}
fopen("d:\\aaa.txt", "w+");
改成fopen("aaa.txt", "w+");
测试当前位置写文件,与指定位置写文件,可以确定原因。
追问
谢谢你大佬 问题我已经解决了
打开文件的的if语句后面加了个;
展开全部
有可能是磁盘的写权限问题。
写个最简单的文件读写程序。
#include <stdio.h>
int main() {
FILE *fp = fopen("d:\\aaa.txt", "w+");
if (fp == null) {
printf("error\n");
} else {
printf("print ok!\n");
fclose(fp);
}
return 0;
}
fopen("d:\\aaa.txt", "w+");
改成fopen("aaa.txt", "w+");
测试当前位置写文件,与指定位置写文件,可以确定原因。
写个最简单的文件读写程序。
#include <stdio.h>
int main() {
FILE *fp = fopen("d:\\aaa.txt", "w+");
if (fp == null) {
printf("error\n");
} else {
printf("print ok!\n");
fclose(fp);
}
return 0;
}
fopen("d:\\aaa.txt", "w+");
改成fopen("aaa.txt", "w+");
测试当前位置写文件,与指定位置写文件,可以确定原因。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询