fprintf of cell array

1 vue (au cours des 30 derniers jours)
Richard
Richard le 31 Mar 2012
Commenté : Jan le 10 Nov 2016
I am trying to generate text files from the following example:
clear all
Year = {'2007','2008','2009'};
for i = 1:length(Year)
StartDate{i} = [Year{i} '-01-01 00:00'];
EndDate{i} = [Year{i} '-12-31 23:57'];
Resolution = 60;
DateT{i} = datestr(datenum(StartDate{i},'yyyy-mm-dd HH:MM'):Resolution/(60*24):...
datenum(EndDate{i},'yyyy-mm-dd HH:MM'),'yyyy-mm-dd HH:MM');
DateTime{i} = cellstr(DateT{i});
end
%save as text file
for i = 1:length(Year);
mkdir(fullfile('C:',Year{i}));
filename{i} = fullfile('C:',Year{i},'DateTime.txt');
fid{i} = fopen(filename{i},'w+');
for ii = 1:length(DateTime);
a{i} = 1:length(DateTime{i});
for k = 1:a{i};
fprintf(fid{i},'%s',DateTime{i}{k});
end
end
end
fclose 'all';
I know that the error must be in the line containing fprintf but I dont know how to fix it. How is it possible to write the each cell of DateTime into separate text files as indicated in the script?
  1 commentaire
Mohammed Ibrahim
Mohammed Ibrahim le 10 Nov 2016
I had similar problem, I used strcat after cellstr. so in this question this may work: DateTime{i} = strcat(cellstr(DateT{i}));

Connectez-vous pour commenter.

Réponse acceptée

Image Analyst
Image Analyst le 31 Mar 2012
Replace the corresponding lines with these:
a{i} = length(DateTime{i})
for k = 1:a{i}
fprintf(fid{i},'%s\n',DateTime{i}{k});
% fprintf(1,'%s\n',DateTime{i}{k});
end
The problem was the 1: in the "a{i}" line, and no \n in the fprintf().
  3 commentaires
Image Analyst
Image Analyst le 31 Mar 2012
If you mean why it doesn't look the same when you fprintf to the file instead of the command window, it's because if you go to a file you need to use \r\n instead of just \n. I'm not really sure why that is the convention, it just is.
Jan
Jan le 10 Nov 2016
Using \r\n is not a convention, but text files can have either "\n" or "\r\n" or even "\r" as line breaks. Only the Windows Editor cannot display the different line breaks correctly, but e.g. Matlab's editor or any other one I've seen handles the different styles correctly. Therefore the convention should be not to use the Editor shipped with Windows.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Environment and Settings dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by