[問題] 關於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