fprintf to print to both file and command window

62 次查看(过去 30 天)
I'd like to run a single fprintf operation to print to both command window and file.
I know that the below command only print to 'log.txt' file:
fid = fopen('log.txt', 'w');
fprintf(fid, 'start logging\n');
And below will only print to command window:
fprintf('start logging\n');
Is there a way to print to both without calling fprintf twice?
Thanks,

采纳的回答

the cyclist
the cyclist 2020-4-29
I doubt it.
I'm not sure what your goal is, but it would certainly be trivial to write your own small function. Something like
function [] = writeToScreenAndFile(fid,str)
fprintf(fid, str);
fprintf(str);
end
  1 个评论
Louis
Louis 2020-4-29
The goal is to have a log file which logs desired stutus messages. However, I also would like the log messages to appear on the command window as well.

请先登录,再进行评论。

更多回答(1 个)

Ameer Hamza
Ameer Hamza 2020-4-29
编辑:Ameer Hamza 2020-4-29
Read my answer here: https://www.mathworks.com/matlabcentral/answers/516548-using-fprintf-to-write-to-multiple-files-simultaneously#answer_424960 which answers this exact question. It suggests two methods: create a custom function or overloading fprintf function.

类别

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

产品


版本

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by