如何使用文本扫描读取文件中的所有行

lea*_*lab 5 matlab

我正在尝试使用以下内容读取 .m 文件中的所有行

file_content = textscan(fid, '%s', 'delimiter', '\n', 'whitespace', '')
Run Code Online (Sandbox Code Playgroud)

但这只是返回

file_content = 

    {0x1 cell}
Run Code Online (Sandbox Code Playgroud)

实际上我的文件有 224 行。所以如果我使用

file_content = textscan(fid,'%s',224,'delimiter','\n')
Run Code Online (Sandbox Code Playgroud)

我明白了所有的台词

file_content = 

    {224x1 cell}
Run Code Online (Sandbox Code Playgroud)

读取 .m 文件中的所有数据(主要是字符串)的更合适方法是什么?谢谢

car*_*sdc 4

由于您没有列出您的需求(您正在读取一个大文件吗?很多小文件?速度是一个问题吗?您真正想做什么?)我给您最简单的答案:

你做这个:

f = fopen('data.txt');             
g = textscan(f,'%s','delimiter','\n');
fclose(f);
Run Code Online (Sandbox Code Playgroud)

阅读完后记得关闭,否则你将无法再阅读。

您可以将第一行设为 g{1}{1},将第二行设为 g{1}{2},依此类推。

这是textscan的 matlab 文档,其中提供了更多详细信息。