2012-01-12 99 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