An error of using fprintf

Dear All,
When I tried to use fprintf to print numerical data and char in the same row, here is my code:
fprintf(fileID, ' %7d %8d %6d %s %4.2f %s %4.2f %3.1f\r\n', [d1 d2 d3 d4' d5 d6' d7 d8]');
Unfortunately, I obtained the following error message:
Error using fprintf
Unable to convert 'string' value to 'int64'.
Would anyone could tell me how to fix this error?
Thanks a lot.
Benson

 Accepted Answer

Printing different variable classes (such as numeric and character), requires a loop:
for k = 1 : something
fprintf(fileID, ' %7d %8d %6d %s %4.2f %s %4.2f %3.1f\r\n', [d1(k) d2(k) d3(k) d4(k) d5(k) d6(k) d7(k) d8(k)]);
end
fclose(fileID);
... or something similar.
Experiment to get the desired result

2 Comments

Using loop is not the cause of the problem. I tried to use loop, I still encountered the same problem.
By the way, using loop is not necessary to print more than 2 rows.
Thanks a lot, anyway.
Benson
As always, my pleasure!

Sign in to comment.

More Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!