作者DreamLoser (金屬製品)
看板C_and_CPP
標題Re: [問題] 笨問題:fread能否讀兩行?
時間Tue Mar 29 13:51:37 2011
不太行.....
嘗試用fscanf:
開檔try1;
for(unsigned int i=0;i<loop-thermal;i++){
fscanf(try1, "%f%f", &R[i], &I[i]);
}
印出R[i]以及I[i] 都是錯的
我那本c++的書很爛 爬文的時後也不太知道自己的程式是哪邊不對
加上這個問題雖然是小問題 但主要程式仍然在緊急趕工中.. 所以有點緊急(卡在這邊有
點尷尬呀...)
不知道有沒有大大可以直接賜教..
附上原本想要讀的檔案資料:
0.239644 -0.0157511
0.236983 -0.00228569
0.251755 0.00429255
0.228183 0.0100518
0.249747 0.0126418
0.265424 -0.00470272
0.276601 0.00440907
0.243316 0.00434836
0.239634 7.93507e-05
0.265692 0.0229502
0.266163 -0.0234217
0.250885 -0.0138453
0.222378 -0.0163221
0.226725 -0.00447536
0.254855 0.00302962
0.261365 0.0100829
.......一直延續到 (loop-thermal)這麼多個
※ 引述《DreamLoser (金屬製品)》之銘言:
: 不好意思 又來問笨問題 因為程式設計的書沒放在這邊 臨時想看沒法子
: 爬文似乎沒相關問題(可能太簡單了)
: 就是我有個檔案 類似長這樣
: 1.2333 0.2332
: 123.332 55.2311
: 223.1113 7.73433
: . .
: . .
: . .
: . .
: . .
: . .
: 就這樣一直延續下去 就是兩行
: 然後想開起這個檔案 這兩行分別想存入兩個不同的array
: 分別叫R 跟 I好了
: 於是我嘗試用:
: fread(R,I, sizeof(double),loop-1-thermal,try1);
: 不過似乎不行 請問要怎麼存
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.240.151.90
推 LPH66:用 %lf 讀 double 03/29 13:59
→ DreamLoser:有試過"%1f%1f" 但仍然失敗... 03/29 14:02
→ james732:"%lf %lf" 呢?中間插個空白 03/29 14:03
→ DreamLoser:一樣不行耶 我打上我檔案的資料好了 03/29 14:04
※ 編輯: DreamLoser 來自: 111.240.151.90 (03/29 14:05)
→ james732:用你貼上來的16筆資料測試,是沒有問題的 03/29 14:08
推 LPH66:問一下 你的檔案裡是否在數字之前有其他文字? 03/29 14:09
→ LPH66:我是指在所有數字的上方 03/29 14:09
→ DreamLoser:沒有耶 我直接開檔 然後複製貼上 沒其他文字 03/29 14:17
推 chchwy:程式這樣寫沒問題 問題在別的地方 03/29 14:20
→ james732:也建議說說怎樣的不行? (讀到0?讀到錯的值?程式當掉?) 03/29 14:22
→ DreamLoser:的確問題在別的地方 正在查... 03/29 14:24
→ DreamLoser:之前讀到錯的值 比如說某個數的e-215 或是0 03/29 14:24
→ akasan:這在說啥 ^^^^^^^^^^^^^^^^^^^^ 03/29 15:00
→ DreamLoser:找到主因了...(找到快發瘋) 是lf而不是1f 03/29 15:03
→ akasan:寫程式用個 l 跟 1, O跟0 不一樣的字型還滿重要的= = 03/29 15:05
→ DreamLoser:debug到一半還懷疑james732大大是不是偷下了魔法咒語.. 03/29 15:09
→ DreamLoser:想說為啥他那行能跑 我這行明明看起來一樣卻不能跑 03/29 15:09
→ LPH66:原來是 一f 和 Lf...這問題好像很微妙的常見 XD 03/29 16:13
→ hilorrk:像樓上就是LPHbb 我是hi1orrk XD 03/30 16:19
→ loveme00835:@.@ 03/30 16:38