write a variant of fprintf

4 visualizzazioni (ultimi 30 giorni)
Juan Cardelino
Juan Cardelino il 18 Apr 2012
Commentato: Andrew Janke il 31 Gen 2020
Dear all, I'm trying to implement a logging facility. For that reason, I want to replace my current calls fprintf(log_fid,"some label: %d\n, some_var) for something like myfprintf("some label: %d\n, some_var) and then call fprintf from within myprintf. My problem is that I don't know how to specificy the variable arguments list, I've tried like this:
function myfprintf(varargin)
fprintf(log_fid,varargin)
end
but that obviously won't work. Any suggestions? Thanks in advance. Best regards, Juan
  1 Commento
Andrew Janke
Andrew Janke il 31 Gen 2020
Hey, if you're doing logging in Matlab, consider trying my SLF4M framework instead of rolling your own: https://github.com/apjanke/SLF4M

Accedi per commentare.

Risposta accettata

Jan
Jan il 18 Apr 2012
function myfprintf(varargin)
fprintf(log_fid, varargin{:});
end
  1 Commento
Juan Cardelino
Juan Cardelino il 18 Apr 2012
Thank you, a couple of hours after asking the question I realized myself that I forgot the {:}
It works nice.

Accedi per commentare.

Più risposte (2)

supriya
supriya il 18 Apr 2012
Try this one...
disp(sprintf('%d %d',log_fid,varargin));

supriya
supriya il 18 Apr 2012
else
fprintf('%d %d',log_fid,varargin);

Categorie

Scopri di più su Argument Definitions in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by