How can I change where a variable is placed within the field width using fprintf?
Show older comments
I am working with a function that specifies a field width of 20 characters for column labels.
for i=1:length(q.labels)
fprintf(fid, '%20s\t', q.labels{i});
end
The problem I am having, is that in the written file, the label is being printed to the last characters of the 20-character field width. So, for example, if my label is ‘DOG’, my column label has 17 blank spaces and then the word DOG. How can I fix this so that the label prints to the beginning of the field width?
Accepted Answer
More Answers (1)
By default the text will be right-justified within the field.
fprintf(fid, '%-20s\t', q.labels{i});
% ^ this is all you need
Note that the loop is not required:
fprintf(fid, '%-20s\t', q.labels{:});
Categories
Find more on Semantic Segmentation 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!