Saving variables in the loop.

Hi Im using fgets to display every line in the file.
fid = fopen('file');
tline = fgets(fid);
while ischar(tline)
L = (tline);
tline = fgets(fid);
disp(tline)
end
I would like to save every line in the workspace in sequence as L1, L2, L3 ...
Can You propose me a solution?
Thank You.

 采纳的回答

fid = fopen('file');
line1 = fgetl(fid);
res=line1;
while ischar(line1)
line1 = fgetl(fid);
res =char(res,line1)
end
fclose(fid);

5 个评论

Sorry it isn't working. it returns my all file saved in workspace as res, not as every line.
If you want each line, for example line 3:
line3=res(3,:)
Thanks, but yes I know this possibility. most important for me is have to save every line separately in workspace, becouse I work with several files and I dont know how leinght it is, and I can't appeal directly to line becouse it could not exist.
fid = fopen('file');
line1 = fgetl(fid);
res=line1;
k=0
while ischar(line1)
k=k+1;
line1 = fgetl(fid);
assignin('base',sprintf('L%d',k),line1)
end
fclose(fid);
Thank You very much, working great.

请先登录,再进行评论。

更多回答(0 个)

类别

在 帮助中心 和 File Exchange 中查找有关 Big Data Processing 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by