fprintf to print to both file and command window

59 views (last 30 days)
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,

Accepted Answer

the cyclist
the cyclist on 29 Apr 2020
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 Comment
Louis
Louis on 29 Apr 2020
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.

Sign in to comment.

More Answers (1)

Ameer Hamza
Ameer Hamza on 29 Apr 2020
Edited: Ameer Hamza on 29 Apr 2020
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.

Categories

Find more on Scripts in Help Center and File Exchange

Products


Release

R2019b

Community Treasure Hunt

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

Start Hunting!