[問題] C 讀取未知數量檔案問題

作者: j0958322080 (Tidus)   2018-01-06 22:29:29
開發平台(Platform): (Ex: Win10, Linux, ...)
win10
編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出)
gcc 4.9.2
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
no
問題(Question):
我有一堆資料要讀進我寫的程式裡面,可是資料數目不一定,
我程式在跑的時候需要知道我的資料有幾筆才能夠往下算,
因為有一些矩陣相乘的部分所以必須要記錄有幾筆資料。
例如:
[1 2 3 4 5 ] T
[6 7 8 9 10] = A
上有10筆資料,需要開一個 2*5 的矩陣去做,
然後我需要得到 A^T*A = B。
雖然可以事先知道有幾筆資料,
但使用起來最好是能讓程式自己去判斷有幾筆資料比較方便。
感謝各位
http://codepad.org/10n54IRD
code大概是這樣,A[k+1][k+1]
作者: caras   2018-01-07 01:11:00
你的想法很對,我支持你,放膽去做吧看不出你的問題在哪裡,只好表示全力支持
作者: school4303 (某爬蟲類)   2018-01-07 02:05:00
不能邊讀邊紀錄?y
作者: yeebon   2018-07-22 16:41:00
chx64的1/2悖論真的很經典呢
作者: Ommm5566 (56天團)   2018-01-07 06:10:00
用boost filesystem列出資料夾下所有檔案
作者: alan23273850   2018-01-07 08:45:00
1. argv or 2. two-pass sweep
作者: Darkautism (達卡特森)   2018-01-07 10:22:00
你是想要動態陣列?malloc和free
作者: j0958322080 (Tidus)   2018-01-07 10:26:00
之後想想應該是只能用動態陣列去開矩陣,不然會吃很多記憶體malloc 有辦法我讀怎樣m*n矩陣進去就紀錄m跟n的值嗎
作者: jerryh001   2018-01-07 13:48:00
只能掃兩次吧 第一次看有幾筆 然後開好空間讀第二次
作者: MOONRAKER (㊣牛鶴鰻毛人)   2018-01-07 15:54:00
當然是自己記阿 你到底對malloc有什麼誤解
作者: caras   2018-01-08 03:33:00
不需要掃兩次啊,掃到哪存到哪,記憶體配置不夠就再增加vector, linked-list, 甚至單純 realloc() 陣列都能做到m 跟 n 的值就自己數清楚即可
作者: jerryh001   2018-01-08 16:23:00
用vector的搬動成本不是會很高嗎?
作者: Schottky (順風相送)   2018-01-10 02:16:00
和檔案讀一次變成讀兩次的成本比起來誰高?還有別急著掏 iterator 出來,vector 可以當 array 用的
作者: steve1012 (steve)   2018-01-10 16:49:00
你先用vector 要是發現成本真的很高再考慮改吧 STL很屌的

Links booklink

Contact Us: admin [ a t ] ucptt.com