→ Feis: 這情況蠻有趣的. 可以請問詳情嗎. 例如你怎麼知道有覆蓋 05/31 21:10
matlab會生成一個新的txt檔阿~ 只要看txt檔裡的資料有沒有變 甚至看"txt"的時間就知
道有變化啦~~
我的matlab部分code :
save('point.mat','point');
fid = fopen('C:\Users\totem\Desktop\filter_project\point.txt', 'a');
fprintf(fid, '%f \n', point );
fclose(fid);
※ 編輯: totemist (36.228.236.142), 05/31/2015 21:52:58
→ Feis: 你 C 的部分是獨立程式? 在 Matlab "後" 執行? 05/31 22:04
對對對 一切皆由手動操作 不是一次搞定的!!! 抱歉這部分我沒說清楚!!!
步驟如下
1. matlab生成一個名為point.txt的檔案
2. 手動切換到C去讀取這個point.txt
→ EdisonX: 聽起來像是 c 那裡要收到通知或延遲或其他機制再讀檔 05/31 22:13
抱歉 這部分我沒說清楚
※ 編輯: totemist (36.228.236.142), 05/31/2015 22:17:58
→ EdisonX: 雖然感覺不太可能..matlab 產生的 point.txt , 和 C 讀到 05/31 23:11
→ EdisonX: 的 point.txt , 確定是同一個(路徑是一樣的)嗎? 05/31 23:12
一樣的,因為我其實都是有直接設路徑,只是貼code把這部份去掉
→ EdisonX: 另外小挑一下下,fclose 要放在 if 裡面. 05/31 23:12
好的,謝謝提醒 已改
→ Feis: 意思是你 Matlab 跑完->打開point.txt 是新的-> C開起來是舊 05/31 23:37
→ Feis: 的? 05/31 23:38
是的,沒錯。
※ 編輯: totemist (36.228.236.142), 06/01/2015 04:25:46
→ remizu: matlab不太熟 不過fopen的'a'是append 每次新資料都寫在 06/01 05:04
→ remizu: 檔案最後 而讀取則是從頭讀 所以每次都會讀到前3200筆一樣 06/01 05:05
→ remizu: 的資料 06/01 05:05
→ remizu: 所以我猜應該是像F大猜想的 沒有"覆蓋" 06/01 05:08
!!!!! 我今天又再看一次 !!! 沒錯,你和F大是對的!!!
他並沒有覆蓋前3600筆資料,而是加在3600筆資料後,我這才發現昨天測試的txt檔裡有破
萬筆data!!!
謝謝 兩位 我大該知道該怎麼處理了!!
※ 編輯: totemist (36.228.236.142), 06/01/2015 16:48:46
修正成功!!!
只要把'a'改成'w+t'就可以了!!!
昨天既然被困惑了!!!
謝謝大大們的提點~
※ 編輯: totemist (36.228.236.142), 06/01/2015 16:53:55