fclose() 提示No source available for ""

coolmurder 2009-03-25 03:11:34
DEBUG模式下代码执行到第二个fclose(f);的时候就提示No source available for ""
大家帮忙看下什么原因

#include <stdio.h>

int main()
{
int len;
char * buff;

FILE * f;

f = fopen("/home/config.xml", "rt");

if (!f)
{
fclose(f);

return 1;
}

fseek(f, 0L, SEEK_END);
len = ftell(f);
buff = new char(len);
fseek(f,0L, SEEK_SET);

fread(buff, len, 1, f);

printf("%s", buff);

fclose(f);

delete[] buff;

return 0;
}

...全文
288 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
bao001001 2009-03-25
  • 打赏
  • 举报
回复
[Quote=引用楼主 coolmurder 的帖子:]
if (!f)
{
fclose(f);

return 1;
}
[/Quote]

fclose(f) has problem because f is null pointer. please check error status after fopen() call.
downmooner 2009-03-25
  • 打赏
  • 举报
回复
 if (f==NULL) 
{

return 1;
}

buff = new char[len];

源码链接: https://pan.quark.cn/s/a4b39357ea24 在C语言编程环境中,多项式求和是一项常见的编程实践,它融合了数学理论、算法设计以及C语言的基础运用。此类程序可能包含对用户输入的多项式表达式进行解析,进而计算各项的总和。接下来将对这一主题进行深入阐述。 多项式在数学领域是一个基础性概念,它由常数、变量及指数通过线性方式组合而成,例如表达式`3x^2 + 2x - 1`。在C语言环境下,我们可以借助数组来表示多项式的各项系数,例如通过定义一个整型数组`int coefficients[] = {3, 2, -1}`来保存表达式`3x^2 + 2x - 1`的系数值。 1. **多项式解析**: 解析多项式的过程通常需要从用户处获取输入数据,如表达式`3x^2 + 2x - 1`。在C语言中,可以利用`scanf()`函数来接收用户的输入。解析流程涉及到识别每个项的系数、变量及指数,这可能需要运用到字符串处理函数,例如使用`strtok()`函数来分割字符串,以及通过`atoi()`或`atof()`函数将字符串转换为数值类型。 2. **数据结构构建**: 为了高效地处理多项式,可以设计一个结构体用以存储每一项的系数和指数信息。例如: ```c typedef struct { int coefficient; int exponent; } Term; ``` 随后,可以选用链表或数组来存储这些结构体实例,以此来完整表示一个多项式。 3. **求和运算**: 求和操作可能包含两个阶段:(1) 对相同指数的项进行系数相加,(2) 将计算结果整合至最终的多项式表达式中。在处理同次幂项时,需要遍历两个多项式,识别出具有相同指数的项...

70,038

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧