fprintf to print to both file and command window

70 visualizzazioni (ultimi 30 giorni)
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,

Risposta accettata

the cyclist
the cyclist il 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 Commento
Louis
Louis il 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.

Accedi per commentare.

Più risposte (1)

Ameer Hamza
Ameer Hamza il 29 Apr 2020
Modificato: Ameer Hamza il 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.

Prodotti


Release

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by