write a variant of fprintf

7 views (last 30 days)
Juan Cardelino
Juan Cardelino on 18 Apr 2012
Commented: Andrew Janke on 31 Jan 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 Comment
Andrew Janke
Andrew Janke on 31 Jan 2020
Hey, if you're doing logging in Matlab, consider trying my SLF4M framework instead of rolling your own: https://github.com/apjanke/SLF4M

Sign in to comment.

Accepted Answer

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

Sign in to comment.

More Answers (2)

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

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

Categories

Find more on Argument Definitions in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!