write multiple line of text into a text file
    33 views (last 30 days)
  
       Show older comments
    
Simple question; I have this variable which I want easily write to a text file (it can be a hundred of lines, I just cut it into 4 to fit here)
app.DCMtxt.Value
ans =
4×1 cell array
    '3  Message(s) transmitted '
    ''
    '      ws      BUS     ID     Rx    Node    DLC    Cycle    Extended'
    '    ______    ___    ____    __    ____    ___    _____    ________'
4 Comments
Accepted Answer
  Walter Roberson
      
      
 on 4 Aug 2017
         fid = fopen('output.txt','w'); 
fprintf(fid, '%s\n',app.DCMtxt.Value{:}) ;
fclose(fid) ;
4 Comments
  Rik
      
      
 on 5 Aug 2017
				You might need to replace the control characters:
escaped_cellstr=app.DCMtxt.Value;
escaped_cellstr=strrep(escaped_cellstr,'%','%%');
escaped_cellstr=strrep(escaped_cellstr,'/','//');
fid = fopen('output.txt','w'); 
fprintf(fid, '%s\n',escaped_cellstr) ;
fclose(fid) ;
  Walter Roberson
      
      
 on 5 Aug 2017
				No, Rik, that is not needed. That would only be needed if you were using the string content inside the format. For example, the following would be a problem:
fid = fopen('output.txt','w');
for jj = 1 : size( app.DCMtxt.Value, 1 )
  fprintf( fid, app.DCMtxt.Value{jj,1} );
  fprintf( fid, '\n' );
end
fclose(fid);
More Answers (1)
  Will Wilson
    
 on 4 Aug 2017
        If you didn't want to use a for loop directly you could use a newer datatype called a table and one if it's helper functions to get the job done. Here is an example:
% Convert your [m x 1] cell array into a MATLAB table.
data = cell2table(app.DCMtxt.Value);
% (Optionally) name the column in your table.
data.Properties.VariableNames = {'DataSet'};
% Write the table out to a text file.
writetable(data,'OutputData');
This should do the trick. Ultimately it will depend on how much control you need on the text file you write out.
0 Comments
See Also
Categories
				Find more on Text Data Preparation in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!





