所以,当然,我现在有点麻烦了。我试图读取一个文本文件,按照列表顺序进行这样的事情。我想要做的是将数字,字符和字符串列单独存储在数组中。如何使用sscanf或fscanf从文件中读取字符串?
[Numbers] [Characters] [Strings]
现在,当我想通了如何读取数字和字符列到自己的阵列中,我似乎不能与字符串列这样做。至少,不是fscanf
或sscanf
,这是我想要使用的命令。
如何阅读使用fscanf
或sscanf
这样的档案? (我知道关于textscan,我想知道这是可能的fscanf或sscanf)。
好的,让我在这里添加一些代码。所以,我研究这个,而我尝试了以下内容:
fid = fopen('Data.txt', 'w+');
i = 1;
while ~feof(fid)
line = fgets(fid);
M(i) = sscanf(line, '%d, %c, %s', [3,inf];
i = i+1;
end
这将运行,但中号结束了出来只由数字构成的数据文件中的第一列的行向量。它完全忽略了字符和字符串的存在。
现在,为了更好地了解sscanf函数的我尝试以下
fid = fopen('Data.txt', 'w+');
i = 1;
while ~feof(fid)
line = fgets(fid);
M(i) = sscanf(line, '%d, %d, %d', [3,inf];
i = i+1;
end
对于数据的组成只是数字的列的样本集。顺便说一下,这和以前完全一样;它只是读取数据的第一个数字列并退出。所以,我甚至不知道如何正确使用sscanf,feof或fgets。所以我也可以在这里使用一些帮助。
而且我知道试图阅读只是列数字fscanf微不足道,但我想在这里理解sscanf和fgets。
对,我知道textscan。也许我会研究它,但我不愿意,因为命令只存在,据我所知,在matlab中,这可能不是我唯一想做的事情。 我会研究一下,但是,我想再次知道这是否适用于fscanf或sscanf。 而且,我的意思是,我所说的确实是文本文件的格式。只需很长时间(数千个值)的数字,字符和字符串列。 在很多方面,我只是好奇在这里看看如何用fscanf和sscanf来做到这一点。也许这是愚蠢的,但是...我想知道。 – GeneralPancake
嗯,我不得不承认textscan完美的作品,说实话,真的让我很烦恼。我只是,真的很想知道如何使用sscanf和/或fscanf来做到这一点。它必须是可能的,我真的不在乎它有多少痛苦。 – GeneralPancake