使用一行在Matlab中使用textscan获取文本文件内容

时间:2016-12-30 12:58:10

标签: matlab

我有一个文本文件,每行都是一个字符串,如:

str_a
str_b
str_c

如果我使用textscan(fid, '%s'),我将获得一个1x1的单元格,其中还有另一个3x1单元格。现在我想用一个行代码来获取这个3x1单元格,怎么样?因为我觉得下面的代码很难看。

a = textscan(fid, '%s');
a = a{1};

1 个答案:

答案 0 :(得分:2)

textscan旨在处理具有许多混合数据类型的复杂格式的输入。出于这个原因,它总是有一个单元格数组作为输出,格式字符串中的任何字符串都将是一个嵌套的单元格数组。

更简单的方法可能是简单地放弃使用textscan,因为您实际上并没有使用格式字符串。您可以使用fread将其作为字符数组读取,然后使用strsplit

拆分所有换行符
a = strsplit(fread(fid, '*char')');