我有一个文本文件,每行都是一个字符串,如:
str_a
str_b
str_c
如果我使用textscan(fid, '%s')
,我将获得一个1x1的单元格,其中还有另一个3x1单元格。现在我想用一个行代码来获取这个3x1单元格,怎么样?因为我觉得下面的代码很难看。
a = textscan(fid, '%s');
a = a{1};
答案 0 :(得分:2)
textscan
旨在处理具有许多混合数据类型的复杂格式的输入。出于这个原因,它总是有一个单元格数组作为输出,格式字符串中的任何字符串都将是一个嵌套的单元格数组。
更简单的方法可能是简单地放弃使用textscan
,因为您实际上并没有使用格式字符串。您可以使用fread
将其作为字符数组读取,然后使用strsplit
a = strsplit(fread(fid, '*char')');