2012-01-12 97 views
0

我嘗試使用的fread讀取文本文件如何使用MATLAB fread讀取txt文件?

我的代碼只有2線

fid = fopen('1.txt', 'r'); 
c = fread(fid,'double', skipvalue); 

我已經測試瞭如雙,FLOAT32,float64和不同的跳略值從0到8,但沒有不同的格式的組合工作。數據由c程序代碼記錄 fprintf(file,「%f \ n」,sample [i]);

樣本數據(每行只有一個數據)

-0.992224 
0.932078 
-0.474954 
-0.659479 
-0.994677 
-0.380766 
-0.643983 
0.425023 

回答

1

嘗試textscan功能或fscanf

freadfwrite而不是fprintf的對應物。

fscanffprintf的對應物。

如果您絕對必須使用fread,您需要讀取一個字符串(字符數組),然後使用sscanf從中提取數字數據。

+1

給你一個吻。很愛很愛你。 – Marco 2012-01-12 20:09:42

+0

@Ben - >無論如何要控制你閱讀的行數,同時閱讀它作爲字符串?你的建議很棒,但是由於我的.txt文件很大,我想一次讀'N'行(不想使用textscan!)。謝謝... – Maddy 2012-03-03 06:05:45

+0

@Maddy:這個問題是關於讀取數值數據,爲什麼突然關心字符串?你可以告訴'fscanf'有多少行要讀取,MatLab會記住你在文件中的位置(只要你不關閉它),你可以稍後使用'fscanf'和相同的文件句柄來繼續閱讀你離開了。 – 2012-03-03 16:11:37