阅读整个与fgets和fgetl问题

17日视图(30天)
阿里
阿里 2011年5月24日
回答: 林恩Neergaard2020年9月30日
我tryiong读取数据文件的行数的标题和列标题。现在我无法得到一个完整的线由Matlab读取。
我可以加载文件,一行读入一个字符串,但它给了我只有数量有限的字符,但不总是相同数量的字符。fgets和fgetl给我这个问题!
也许我应该增加我与R2007a合作。
谢谢!
4评论
林恩Neergaard
林恩Neergaard 2020年9月30日
编辑:林恩Neergaard 2020年9月30日
完全匹配这个描述我有一个问题,但不是通过注意解决剩余的阅读。
我在Windows上运行Matlab 2019 b 10机器。我的代码如下
- - - - - -
文件名=“Test.out.txt”
fid = fopen(文件名);
Tdata = [];
isempty (Tdata)括号% | | ~ = 0%空标题行
% Conflabit。下面的代码只读取
%的前半部分的数据。fgets相同
%的交易。
线= fgetl (fid);
Tdata = sscanf(白线,' % f ');
结束
fclose (fid)
我想读
286 0.000 238.82 238.82 238.82 0.0000 - 5.373 269.05 - 2.705 e + 04 e + 05 7.003 e-01 7.040 e + 02年0.000 0.000 1.894 e + e + 00 05
但我停在5集空间在中间,
线= ' 286 0.000 238.82 238.82 238.82
有很多更多的代码和更多的数据,但有权利限制的数据,所以我不得不提取一部分代码和数据。原来,我附上的文件工作的很好。我要看看我是否能重现这个错误与净化版本的代码和数据。请站在。

登录置评。

答案(3)

沃尔特·罗伯森
沃尔特·罗伯森 2011年5月24日
fgets()或fgetl()就可用了 最低 2 gb /线(大64位MATLAB)。当然,他们可能会耗尽内存之前。
你打开文件“r”(二进制文件)或“rt”(一个文本文件)?你用的哪些操作系统?你当你打开文件指定一个文件编码?
有没有可能正在写入的文件是开放的和另一个程序呢?

阿里
阿里 2011年5月24日
数组编辑器窗口只显示部分的线,它读过即使细胞增加的数据。悬停在细胞上时,我可以看到它实际上复制所有数据。
希望这可以帮助别人不要犯同样愚蠢的错误!

林恩Neergaard
林恩Neergaard 2020年9月30日
好的。我想我的问题。我正在读一个完全不同的文件比我以为我是阅读。我有打开的文件(你知道,fopen等等)在点在我的代码文件的数据的一个子集我以为我已经打开。
总之,fgetl阅读整行,只是一条线从一个不同的文件。读者的启迪,它可能是一条线在同一个文件中。就是没有很多指标使用fgetl命令你是你认为你在哪里,即使在故障诊断模式。

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!