how save diplayed data?

hi,
i have the following code:
fid=fopen('webscopG.txt');
for j=1:100000
tline = fgetl(fid);
i=i+1;
if ~ischar(tline), break, end
disp(tline);
end
fclose(fid);
this code will display tline as array, and that what I need . But how I can save this array of tline.
thanks

2 Commenti

Image Analyst
Image Analyst il 6 Apr 2012
Save it how? In a different text file? In a .mat file?
huda nawaf
huda nawaf il 12 Apr 2012
text file

Accedi per commentare.

 Risposta accettata

Walter Roberson
Walter Roberson il 6 Apr 2012

0 voti

If you are unable to modify that source, then consider the diary command, or consider executing that source within evalc() and writing out the characters you get back from evalc().
Much better would be to follow IA's suggestion of writing to a file within the loop itself. fopen(), fprintf(), eventually fclose()

6 Commenti

Walter Roberson
Walter Roberson il 12 Apr 2012
fid=fopen('webscopG.txt');
outfid=fopen('webscopOut.txt','wt');
for j=1:100000
tline = fgetl(fid);
if ~ischar(tline), break, end
i=i+1;
fprintf(outfid, '%s\n', tline);
end
fclose(fid);
fclose(outfid);
huda nawaf
huda nawaf il 12 Apr 2012
I can not because tline save just last line
Image Analyst
Image Analyst il 12 Apr 2012
I don't see why Walter's code wouldn't work. Maybe you should just try this:
copyfile('webscopG.txt', 'webscopG_Copy.txt');
After all, you're simply just transferring lines.
Walter Roberson
Walter Roberson il 12 Apr 2012
Huda, notice that tline is fprintf()'d within the loop, not after the loop.
If you want a variable to contain all of the lines after the loop, store tline into a cell array.
huda nawaf
huda nawaf il 13 Apr 2012
many thanks walter,
Now I want to save tlines from sepecific position,i.e I do not print it from first line. what i have to do?
thanks
Walter Roberson
Walter Roberson il 13 Apr 2012
if (i >= RangeStart) && (i <= RangeEnd); fprintf(....); end

Accedi per commentare.

Più risposte (2)

Thijs
Thijs il 6 Apr 2012
fid=fopen('webscopG.txt');
for j=1:100000
tline{i} = fgetl(fid);
i=i+1;
if ~ischar(tline),
break,
end
disp(tline);
end fclose(fid);
does that work?

1 Commento

Walter Roberson
Walter Roberson il 6 Apr 2012
No, you cannot have "fclose" in the same statement as "end".

Accedi per commentare.

Image Analyst
Image Analyst il 6 Apr 2012

0 voti

Maybe open a second file for writing and write it out with fprintf()?

1 Commento

huda nawaf
huda nawaf il 12 Apr 2012
I can not do that, because the tline save just last line

Accedi per commentare.

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by