MATLAB: Alignment in a .txt file

alignmentfprintfMATLABtext file

I would like to write data in a text file with an alignment of the text after each column head. At this point, here's what I get:
PROJET RECORDER VERSION
Bias RIG001 2.0
Bias RIG002 2.0
Courseulles (eolien) ENR-002 0.1
Monaco ENR-007 3.0
How should I do to align the text after each column head ? I will really appreciate if someone could help me ! Thanks!
NB : Code to process the text file
fid = fopen(fileSave,'w');
fprintf(fid,sprintf('%s%25s%25s\n','PROJET','RECORDER','VERSION'));
for iData = 1:length(logDataName);
fprintf(fid,sprintf('%s%25s%25s\n',logDataName(iData).project,logDataName(iData).recorder,logDataName(iData).version));
end
fclose(fid);

Best Answer

When you read the fprintf documentation you will find lots of formatting options. Try experimenting with a different format spec, such as using the left justify with a fixed width:
fprintf(fid,'%-25s%-25s%s\n',...)
Also note that you do not need to nest an sprintf inside of the fprintf for this usage: they both accept the same formatting and input strings, so you can simply call the fprintf, as my example shows.