关于fclose报错问题
2015-06-15 20:59
876 查看
当我们用FILE定义:
FILE* p;
fclose(p);
自然会报错,因为没给p赋值,当然你可以给它赋值,可是如果我们这样:
if(p!=NULL){
printf(" %d ",p);
fclose();
}
就会发现,依然报错,而且控制台输出了一个非0整数,说明p的初始值是一个随机值,因此,只要给p赋初始值就行了。
完整代码:
FILE* p;
//读写数据
//p=fopen("test.txt","r");//读
//p=fopen("test.txt","w");//写
if(p!=NULL){
printf(" %d ",p);
fclose();
}
这样就加强了代码的健壮性,比如有时候要做算法题的时候,先要写入文件,然后再读取,可能写的时候要注释掉读的部分,如果没有付初始值的话,就会报错,因此这样做最为保险。
FILE* p;
fclose(p);
自然会报错,因为没给p赋值,当然你可以给它赋值,可是如果我们这样:
if(p!=NULL){
printf(" %d ",p);
fclose();
}
就会发现,依然报错,而且控制台输出了一个非0整数,说明p的初始值是一个随机值,因此,只要给p赋初始值就行了。
完整代码:
FILE* p;
//读写数据
//p=fopen("test.txt","r");//读
//p=fopen("test.txt","w");//写
if(p!=NULL){
printf(" %d ",p);
fclose();
}
这样就加强了代码的健壮性,比如有时候要做算法题的时候,先要写入文件,然后再读取,可能写的时候要注释掉读的部分,如果没有付初始值的话,就会报错,因此这样做最为保险。
相关文章推荐
- Lua和C语言的交互详解
- sql2005 附加数据库出错(错误号:5123)解决方法
- 完美解决MSSQL"以前的某个程序安装已在安装计算机上创建挂起的文件操作"
- C#中File类的文件操作方法详解
- android @override 报错解决方案
- 关于C语言中参数的传值问题
- 深入C++中API的问题详解
- 基于C语言string函数的详解
- C语言内存对齐实例详解
- c语言实现的带通配符匹配算法
- C语言实现顺序表基本操作汇总
- 探讨C语言的那些小秘密之断言
- 深入探讨C语言中局部变量与全局变量在内存中的存放位置
- C语言泛型编程实例教程
- C语言中使用lex统计文本文件字符数
- 基于C语言fflush()函数的使用详解
- C语言单链队列的表示与实现实例详解
- 关于C语言除0引发的思考
- 深入分析C中不安全的sprintf与strcpy
- Lua教程(四):在Lua中调用C语言、C++的函数