MATLAB: Need help in understanding fprintf command and its application

fprintfMATLAB

fprintf( ’%8sVIII\n’, ’Henry’ )
fprintf( ’%-8sVIII\n’, ’Henry’ )
fprintf( ’%.3sVIII\n’, ’Henry’ )
Can someone help me with this? I cant figure out what the fprintf does. Especially the part before Henry in this. Please explain all three so I can use it properly.

Best Answer

To begin with, the quote syntax is wrong. This is correct:
fprintf( '%8sVIII\n', 'Henry' )
fprintf( '%-8sVIII\n', 'Henry' )
fprintf( '%.3sVIII\n', 'Henry' )
HenryVIII
Henry VIII
HenVIII
The first one right-justifies ‘Henry’ in the 8-character string field (the default behaviour), the second one left-justifies it (note the minus-sign in front of the 8), and the third one, with a 3-character string field, takes only the first three letters and right-justifies them.
See the documentation on format descriptors in the fprintf documentation for all the details.