[问题] 关于fprintf

楼主: belle800620 (企鹅)   2014-10-24 23:49:39
*[开发平台(Platform):
Visual Studio 2010
*[问题(Question):
我为了实现feedforward neural network写了一个c
在程式的一开始我先将training data的txt档读进来
之后运算完算法之后再把结果输出到txt档
原本我给的data是个总共12行二维的资料
像是 : 1.23,2.11
3.21,4.22
... ...
以此往下类推
但是当我把输入的data增加至大于20行之后
同样一模一样的程式竟然在fprintf的地方发生触发中断点
也就是读进来的资料都可以经过算法运算
但是却在输出到txt时发生错误
他跳出一个视窗说 :
Windows已触发xxxxx(档名)的中断点
可能是因为堆积损毁,表示XXXXX内有错误或其加载的任何DLL内有错误
然后会在fprintf.c里面
有一段是
if(retval=0)
{
buffing = _stbuf(stream);
retval = _output_l(stream,format,NULL,arglist);
作者: LPH66 (-6.2598534e+18f)   2014-10-24 23:51:00
你的程式贴上来给大家看看吧, 不用管 fprintf 里面如何会这样绝大多数是你的程式有某些地方没写好
楼主: belle800620 (企鹅)   2014-10-25 00:01:00
但是程式有点长耶...总共有500行@@这样可以贴吗??
作者: JLong (白开水的味道)   2014-10-25 00:12:00
请参考置底文 ~贴程式码前请看这边~
作者: carylorrk (carylorrk)   2014-10-25 00:20:00
用 debugger 看一下 output 的值有没有符合预期吧。
楼主: belle800620 (企鹅)   2014-10-25 00:27:00
http://ideone.com/PpIauB!!谢谢大家!!!
作者: JLong (白开水的味道)   2014-10-25 00:42:00
overflow...number_of_training_sets应该设12或20?
楼主: belle800620 (企鹅)   2014-10-25 00:43:00
那个地方我是用动态阵列,先让程式扫一遍说number oftraining sets有几笔 (也就是输入资料有几笔)因为在实际运行时其实是不知道有几笔
作者: JLong (白开水的味道)   2014-10-25 00:45:00
sorry 跳太快
楼主: belle800620 (企鹅)   2014-10-25 00:45:00
只是我现在要先自己准备data所以才知道他有几笔
作者: carylorrk (carylorrk)   2014-10-25 01:58:00
也许可以给个 sample input
作者: firejox (Tangent)   2014-10-29 07:49:00
malloc的地方有错 for循环的部份

Links booklink

Contact Us: admin [ a t ] ucptt.com