An error of using fprintf

10 次查看(过去 30 天)
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

采纳的回答

Star Strider
Star Strider 2020-9-15
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 个评论
Benson Gou
Benson Gou 2020-9-15
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
Star Strider
Star Strider 2020-9-15
As always, my pleasure!

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 String Parsing 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by