Effacer les filtres
Effacer les filtres

Reading a multi line string into a single string

9 vues (au cours des 30 derniers jours)
Justin
Justin le 19 Mar 2011
I have opened a file with a string consisting of three lines. I want to read these lines from the file and store them in my "template" variable as a three line string. All I can get is the last line of the string to be stored in "template"
while feof(fid) == 0;
line = fgets(fid);
template = strvcat(line)
end
Thanks for the help

Réponse acceptée

Jan
Jan le 19 Mar 2011
template = {};
while feof(fid) == 0;
template{end + 1} = fgets(fid);
end
templateChar = char(template);
More efficient:
C = textscan(fid, '%s', 'delimiter', '\n');
templateChar = char(C{1});
EDITED: textread -> textscan (Thanks, Jiro!)
  1 commentaire
Jiro Doke
Jiro Doke le 20 Mar 2011
@Jan, I think you meant to use "textscan", not "textread". "textread" requires the first input to be the actual file name, not the output of fopen. And "textscan" is preferred anyway.

Connectez-vous pour commenter.

Plus de réponses (1)

Matt Tearle
Matt Tearle le 19 Mar 2011
You can read the whole contents of a file using fileread. Then use regexp to mess with it -- eg, split on "\n"

Community Treasure Hunt

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

Start Hunting!

Translated by