如何使用fscanf检测换行?

时间:2015-07-28 02:43:01

标签: matlab

我正在使用fscanf将数据导入MATLAB。我的文本文件格式如下:

 ######-10-K-########
 ######-10-K-########

第一个数字可以在6-9个字符之间变化。现在我正在使用代码:

 var = fcanf(fn, %s)

导致var等于一个巨大的字符串。

我读到使用%s会一直持续到检测到空格为止。是否有人在检测到换行符时让它停止?

1 个答案:

答案 0 :(得分:0)

Matlab有很多功能,例如你可以使用textscan。请注意,使用textscan按如下方式修剪每一行中的所有空格。

f = fopen('your_file_name');
file_data = textscan(f, '%s', 'Delimiter', '');
fclose(f);

fgetl的另一个例子如下。 fgetl在每一行中保留缩进和空格。

lineCt = 1;
f = fopen('your_file_name');
tline = fgetl(f);
while ischar(tline)
    f_data{lineCt} = tline;
    lineCt = lineCt + 1;
    tline = fgetl(f);
end
fclose(f);

请注意,它应该是fscanf,而不是您编写的fcanf