在MATLAB中,在不确定长度的情况下,将字符串添加到一维单元阵列中



我在file.txt中有一些字符串,我想将所有字符串添加到一个单元格数组中。

但问题是文件中有许多字符串是未知的,我不想计数。我想每次读取文件中的1个字符串(从上到下)时,我都会将其添加到单元格数组中。

示例:

**file.txt**
ABC
DEFG
HI
JKLMNO
--> cellarray(1) = 'ABC', cellarray(2) = 'DEFG', cellarray(3) = 'HI', cellarray(4) = 'JKLMNO'

我使用的是MATLAB R2014b。我该怎么做?

您可以使用textscan将整个文件加载到字符串的单元格数组中。结果将是一个1 x 1单元格数组,因为您只有一个格式说明符(%s),但该单元格数组将包含文件中所有行的另一个单元格数组。

fid = fopen('file.txt', 'rt');
data = textscan(fid, '%s', 'delimiter', 'rn');
C = data{1};
%// 'ABC'
%// 'DEFG'
%// 'HI'
%// 'JKLMNO'

您可以使用MATLAB(文档)中的fgets函数从文本文件中获取一行

最新更新